Commit 7ab6a566 authored by iSergio's avatar iSergio
Browse files

Only done/fail message

parent d2f8bf79
Loading
Loading
Loading
Loading
+222 −97
Original line number Diff line number Diff line
@@ -8,22 +8,23 @@ if [[ ${#array[@]} == 0 ]]; then
fi

. ../contrib/config
. ../contrib/functions.sh

# Default server hosts
#PRIMARY_HOST=172.16.0.104
#STANDBY_HOST=172.16.0.204
#JBOSS_PRIMARY_HOST=172.16.0.104
#JBOSS_STANDBY_HOST=172.16.0.204
#PGPOOL_DELEGATE_IP=172.16.0.155

echo -n "PRIMARY HOST (Default: $PRIMARY_HOST): "
read _PRIMARY_HOST
if [[ ! -z $_PRIMARY_HOST ]]; then
    PRIMARY_HOST=$_PRIMARY_HOST
echo -n "JBOSS PRIMARY HOST (Default: $JBOSS_PRIMARY_HOST): "
read _JBOSS_PRIMARY_HOST
if [[ ! -z $_JBOSS_PRIMARY_HOST ]]; then
    JBOSS_PRIMARY_HOST=$_JBOSS_PRIMARY_HOST
fi

echo -n "STANDBY HOST (Default: $STANDBY_HOST): "
read _PRIMARY_HOST
if [[ ! -z $_STANDBY_HOST ]]; then
    PRIMARY_HOST=$_STANDBY_HOST
echo -n "JBOSS STANDBY HOST (Default: $JBOSS_STANDBY_HOST): "
read _JBOSS_PRIMARY_HOST
if [[ ! -z $_JBOSS_STANDBY_HOST ]]; then
    JBOSS_PRIMARY_HOST=$_JBOSS_STANDBY_HOST
fi
echo -n "PostgreSQL host (Default: $PGPOOL_DELEGATE_IP): "
read _PGPOOL_DELEGATE_IP
@@ -32,17 +33,22 @@ if [[ ! -z $_PGPOOL_DELEGATE_IP ]]; then
fi


sysctl -w net.core.rmem_max=50000000
sysctl -w net.core.wmem_max=640000
sysctl -w net.core.rmem_max=50000000 &>/dev/null
sysctl -w net.core.wmem_max=640000 &>/dev/null

if ! grep -Fq "net.core.rmem_max" /etc/sysctl.conf; then
    echo "net.core.rmem_max = 50000000" >> /etc/sysctl.conf
fi
if ! grep -Fq "net.core.wmem_max" /etc/sysctl.conf; then
    echo "net.core.wmem_max = 640000" >> /etc/sysctl.conf
fi

# Memory configure for applications JVM
# This params as example for 8 cores and 8 Gb server
SERVER_HEAP_SIZE="8g"
SERVER_MAX_HEAP_SIZE="16g"
SERVER_PERMGEN_SIZE="8g"
SERVER_MAX_PERMGEN_SIZE="16g"
SERVER_HEAP_SIZE="1g"
SERVER_MAX_HEAP_SIZE="4g"
SERVER_PERMGEN_SIZE="1g"
SERVER_MAX_PERMGEN_SIZE="4g"
# Memory for process and host controller JVM
# This params as example for 8 cores and 8 Gb server
HOST_HEAP_SIZE="256m"
@@ -125,10 +131,10 @@ if [[ -z $TYPE ]]; then
fi

if [[ "$TYPE" == "primary" ]]; then
    HOST=$PRIMARY_HOST
    HOST=$JBOSS_PRIMARY_HOST
fi
if [[ "$TYPE" == "standby" ]]; then
    HOST=$STANDBY_HOST
    HOST=$JBOSS_STANDBY_HOST
fi

export JBOSS_HOME=/opt/kszkipo/as7
@@ -137,7 +143,7 @@ export PATH=${JBOSS_HOME}/bin:${PATH}
# For easy access later
ln -sf ${JBOSS_HOME}"/bin/jboss-cli.sh" ${JBOSS_HOME}"/bin/jboss-cli"
# Install my tools
cp -rf bin/dodeploy /usr/local/bin/
cp -rf bin/dodeploy* /usr/local/bin/

ENCRYPT_CLASS_PATH=${JBOSS_HOME}"/modules/system/layers/base/org/picketbox/main/*"
ENCRYPT_CLASS_PATH=${ENCRYPT_CLASS_PATH}:"${JBOSS_DIR}/modules/system/layers/base/org/jboss/logging/main/*"
@@ -161,33 +167,64 @@ service as7-domain restart

# Switch main-server-group to full-ha profile
# Remove all profiles
jboss-cli.sh --connect --commands="batch,
align_left "$DOTSTRING" "Removing server groups"
result=`jboss-cli.sh --connect --commands="batch,
/server-group=main-server-group:remove(),
/server-group=other-server-group:remove(),
run-batch"
run-batch"` 2>$1
align_echo $? $result $result
# Remove full-sockets, ha-sockets, standard-sockets
jboss-cli.sh --connect --commands="batch,
/socket-binding-group=standard-sockets:remove(),
#/socket-binding-group=standard-sockets:remove(),
align_left "$DOTSTRING" "Remove full and ha sockets"
result=`jboss-cli.sh --connect --commands="batch,
/socket-binding-group=full-sockets:remove(),
/socket-binding-group=ha-sockets:remove(),
run-batch"
run-batch"` 2>$1
align_echo $? $result $result
# First create standalone server group. Use it for non clustered application. Only one instace will be worked.
# If failover event, on standalone server must start on standby
align_left "$DOTSTRING" "Create standalone-server-group"
result=`jboss-cli.sh --connect --commands="/server-group=standalone-server-group:add(profile=default, socket-binding-group=standard-sockets)"` 2>$1
align_echo $? $result
# Configure main-server-group jvm options
align_left "$DOTSTRING" "Configure standalone-server-group"
result=`jboss-cli.sh --connect --commands="batch,
/server-group=standalone-server-group/jvm=default:add(heap-size=$SERVER_HEAP_SIZE, max-heap-size=$SERVER_MAX_HEAP_SIZE, permgen-size=$SERVER_PERMGEN_SIZE, max-permgen-size=$SERVER_MAX_PERMGEN_SIZE),
/server-group=standalone-server-group/jvm=default:add-jvm-option(jvm-option=\"-XX:+UseParallelGC\"),
/server-group=standalone-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dsun.rmi.dgc.client.gcInterval=1800000\"),
/server-group=standalone-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dsun.rmi.dgc.server.gcInterval=1800000\"),
/server-group=standalone-server-group/jvm=default:add-jvm-option(jvm-option=\"-XX:ParallelGCThreads=8\"),
/server-group=standalone-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dorg.geotools.coverage.jaiext.enabled=true\"),
/server-group=standalone-server-group/jvm=default:add-jvm-option(jvm-option=\"-Djava.library.path=/usr/local/GISCore/lib/:/usr/lib/jni/\"),
/server-group=standalone-server-group/jvm=default:add-jvm-option(jvm-option=\"-Ddozer.cfg=/etc/kszkipo/as7/standalone/_cfg_dozer\"),
/server-group=standalone-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dindicators_vso.cfg=/etc/irz/indicators_vso\"),
/server-group=standalone-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dindicators_p.cfg=/etc/irz/indicators_p\"),
/server-group=standalone-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dplanning.cfg=/etc/irz/planning\"),
/server-group=standalone-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dfile.encoding=UTF-8\"),
run-batch"` 2>$1
align_echo $? $result

# Create correct main-server-group
jboss-cli.sh --connect --commands="/server-group=main-server-group:add(profile=full-ha, socket-binding-group=full-ha-sockets)"
align_left "$DOTSTRING" "Create cluster-server-group"
result=`jboss-cli.sh --connect --commands="/server-group=cluster-server-group:add(profile=full-ha, socket-binding-group=full-ha-sockets)"` 2>$1
align_echo $? $result
# Configure main-server-group jvm options
jboss-cli.sh --connect --commands="batch,
/server-group=main-server-group/jvm=default:add(heap-size=$SERVER_HEAP_SIZE, max-heap-size=$SERVER_MAX_HEAP_SIZE, permgen-size=$SERVER_PERMGEN_SIZE, max-permgen-size=$SERVER_MAX_PERMGEN_SIZE),
/server-group=main-server-group/jvm=default:add-jvm-option(jvm-option=\"-XX:+UseParallelGC\"),
/server-group=main-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dsun.rmi.dgc.client.gcInterval=1800000\"),
/server-group=main-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dsun.rmi.dgc.server.gcInterval=1800000\"),
/server-group=main-server-group/jvm=default:add-jvm-option(jvm-option=\"-XX:ParallelGCThreads=8\"),
/server-group=main-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dorg.geotools.coverage.jaiext.enabled=true\"),
/server-group=main-server-group/jvm=default:add-jvm-option(jvm-option=\"-Djava.library.path=/usr/local/GISCore/lib/:/usr/lib/jni/\"),
/server-group=main-server-group/jvm=default:add-jvm-option(jvm-option=\"-Ddozer.cfg=/etc/kszkipo/as7/standalone/_cfg_dozer\"),
/server-group=main-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dindicators_vso.cfg=/etc/irz/indicators_vso\"),
/server-group=main-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dindicators_p.cfg=/etc/irz/indicators_p\"),
/server-group=main-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dplanning.cfg=/etc/irz/planning\"),
/server-group=main-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dfile.encoding=UTF-8\"),
run-batch"
align_left "$DOTSTRING" "Configure cluster-server-group"
reuslt=`jboss-cli.sh --connect --commands="batch,
/server-group=cluster-server-group/jvm=default:add(heap-size=$SERVER_HEAP_SIZE, max-heap-size=$SERVER_MAX_HEAP_SIZE, permgen-size=$SERVER_PERMGEN_SIZE, max-permgen-size=$SERVER_MAX_PERMGEN_SIZE),
/server-group=cluster-server-group/jvm=default:add-jvm-option(jvm-option=\"-XX:+UseParallelGC\"),
/server-group=cluster-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dsun.rmi.dgc.client.gcInterval=1800000\"),
/server-group=cluster-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dsun.rmi.dgc.server.gcInterval=1800000\"),
/server-group=cluster-server-group/jvm=default:add-jvm-option(jvm-option=\"-XX:ParallelGCThreads=8\"),
/server-group=cluster-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dorg.geotools.coverage.jaiext.enabled=true\"),
/server-group=cluster-server-group/jvm=default:add-jvm-option(jvm-option=\"-Djava.library.path=/usr/local/GISCore/lib/:/usr/lib/jni/\"),
/server-group=cluster-server-group/jvm=default:add-jvm-option(jvm-option=\"-Ddozer.cfg=/etc/kszkipo/as7/standalone/_cfg_dozer\"),
/server-group=cluster-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dindicators_vso.cfg=/etc/irz/indicators_vso\"),
/server-group=cluster-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dindicators_p.cfg=/etc/irz/indicators_p\"),
/server-group=cluster-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dplanning.cfg=/etc/irz/planning\"),
/server-group=cluster-server-group/jvm=default:add-jvm-option(jvm-option=\"-Dfile.encoding=UTF-8\"),
run-batch"` 2>$1
align_echo $? $result

# Remove default profile
function remove_default_profile {
@@ -291,85 +328,188 @@ function remove_full_profile {
        run-batch"
}

remove_default_profile
remove_ha_profile
remove_full_profile
#remove_default_profile
#remove_ha_profile
#remove_full_profile

# Third party configs
jboss-cli.sh --connect --commands="/profile=full-ha/subsystem=naming/binding=java\:global\/journal_settings:add(binding-type=object-factory,module=org.otdel414.commons,class=org.otdel414.journal.JournalSettings\$Factory,environment=[szi=\"enable:true\", out=\"enable:true,params:false,only_error:true\"])"
align_left "$DOTSTRING" "Configure thirdparty settings for defalt profile"
result=`jboss-cli.sh --connect --commands="/profile=default/subsystem=naming/binding=java\:global\/journal_settings:add(binding-type=object-factory,module=org.otdel414.commons,class=org.otdel414.journal.JournalSettings\$Factory,environment=[szi=\"enable:true\", out=\"enable:true,params:false,only_error:true\"])"` 2>$1
align_echo $? $result
align_left "$DOTSTRING" "Configure thirdparty settings for full-ha profile"
result=`jboss-cli.sh --connect --commands="/profile=full-ha/subsystem=naming/binding=java\:global\/journal_settings:add(binding-type=object-factory,module=org.otdel414.commons,class=org.otdel414.journal.JournalSettings\$Factory,environment=[szi=\"enable:true\", out=\"enable:true,params:false,only_error:true\"])"` 2>$1
align_echo $? $result

# Set max post size request
jboss-cli.sh --connect --commands="/profile=full-ha/subsystem=web/connector=http:write-attribute(name=max-post-size,value=0)"
align_left "$DOTSTRING" "Configure max-post-size for default profile"
result=`jboss-cli.sh --connect --commands="/profile=default/subsystem=web/connector=http:write-attribute(name=max-post-size,value=0)"` 2>$1
align_echo $? $result
align_left "$DOTSTRING" "Configure max-post-size for full-ha profile"
result=`jboss-cli.sh --connect --commands="/profile=full-ha/subsystem=web/connector=http:write-attribute(name=max-post-size,value=0)"` 2>$1
align_echo $? $result

# Set transcations tumeout
jboss-cli.sh --connect --commands="/profile=full-ha/subsystem=transactions:write-attribute(name=default-timeout,value=300000)"
align_left "$DOTSTRING" "Configure default-timeout for default profile"
result=`jboss-cli.sh --connect --commands="/profile=default/subsystem=transactions:write-attribute(name=default-timeout,value=300000)"` 2>$1
align_echo $? $result
align_left "$DOTSTRING" "Configure default-timeout for default profile"
result=`jboss-cli.sh --connect --commands="/profile=full-ha/subsystem=transactions:write-attribute(name=default-timeout,value=300000)"` 2>$1
align_echo $? $result

# Set user and password for HornetQ server
jboss-cli.sh --connect --commands="batch,
align_left "$DOTSTRING" "Configure HornetQ server"
result=`jboss-cli.sh --connect --commands="batch,
/profile=full-ha/subsystem=messaging/hornetq-server=default:write-attribute(name=cluster-user, value=jms-user),
/profile=full-ha/subsystem=messaging/hornetq-server=default:write-attribute(name=cluster-password, value=jms-pass),
run-batch"
run-batch"` 2>$1
align_echo $? $result

# Set instance-id for domain:web
jboss-cli.sh --connect --commands='/profile=full-ha/subsystem=web:write-attribute(name=instance-id, value=\"${jboss.node.name}\")'
align_left "$DOTSTRING" "Configure instance-id HornetQ server"
reuslt=`jboss-cli.sh --connect --commands='/profile=full-ha/subsystem=web:write-attribute(name=instance-id, value=\"${jboss.node.name}\")'` 2>$1
align_echo $? $result

# Rename master -> primary
jboss-cli.sh --connect --commands="/host=master:write-attribute(name=name, value=$TYPE)"
align_left "$DOTSTRING" "Rename server master -> primary"
result=`jboss-cli.sh --connect --commands="/host=master:write-attribute(name=name, value=$TYPE)"` 2>$1
align_echo $? $result

# Configure interfaces
jboss-cli.sh --connect --commands="batch,
align_left "$DOTSTRING" "Configure interfaces"
result=`jboss-cli.sh --connect --commands="batch,
/host=master/interface=management:write-attribute(name=inet-address, value=$HOST),
/host=master/interface=public:write-attribute(name=inet-address, value=0.0.0.0),
/host=master/interface=unsecure:write-attribute(name=inet-address, value=0.0.0.0),
run-batch"
run-batch"` 2>$1
align_echo $? $result

if [[ "$TYPE" == "standby" ]]; then
    # Disable local domain controller, attach to primary
    jboss-cli.sh --connect --commands="/host=master:write-remote-domain-controller(host=$PRIMARY_HOST, port=9999, security-realm=ManagementRealm)"
    align_left "$DOTSTRING" "Disable local domanin controller"
    result=`jboss-cli.sh --connect --commands="/host=master:write-remote-domain-controller(host=$JBOSS_PRIMARY_HOST, port=9999, security-realm=ManagementRealm)"` 2>$1
    align_echo $? $result
    # Set secret value for standby user
    jboss-cli.sh --connect --commands="/host=master/core-service=management/security-realm=ManagementRealm/server-identity=secret:add(value=\"$STANDBY_BASE64\")"
    align_left "$DOTSTRING" "Configure ManagementRealm"
    result=`jboss-cli.sh --connect --commands="/host=master/core-service=management/security-realm=ManagementRealm/server-identity=secret:add(value=\"$STANDBY_BASE64\")"` 2>$1
    align_echo $? $result
fi

# Create standalone server
if [[ "$TYPE" == "primary" ]]; then
    align_left "$DOTSTRING" "Create server-standalone"
    result=`jboss-cli.sh --connect --commands="/host=master/server-config=server-standalone:add(group=standalone-server-group, auto-start=true)"` 2>$1
    align_echo $? $result
fi
if [[ "$TYPE" == "standby" ]]; then
    align_left "$DOTSTRING" "Create server-standalone"
    result=`jboss-cli.sh --connect --commands="/host=master/server-config=server-standalone:add(group=standalone-server-group, auto-start=false)"` 2>$1
    align_echo $? $result
fi
# Recreate server-one
align_left "$DOTSTRING" "Stop server-one"
result=`jboss-cli.sh --connect --commands="/host=master/server-config=server-one:stop()"` 2>$1
align_echo $? $result
align_left "$DOTSTRING" "Recreate server-one"
result=`jboss-cli.sh --connect --commands="batch,
/host=master/server-config=server-one:remove(),
/host=master/server-config=server-one:add(group=cluster-server-group, socket-binding-port-offset=150, auto-start=true),
run-batch"` 2>$1
align_echo $? $result
# Recreate server two
align_left "$DOTSTRING" "Stop server-two"
result=`jboss-cli.sh --connect --commands="/host=master/server-config=server-two:stop()"` 2>$1
align_echo $? $result
align_left "$DOTSTRING" "Recreate server-two"
result=`jboss-cli.sh --connect --commands="batch,
/host=master/server-config=server-two:remove(),
/host=master/server-config=server-two:add(group=cluster-server-group, socket-binding-port-offset=300, auto-start=true),
run-batch"` 2>$1
align_echo $? $result
# Remove server-three
jboss-cli.sh --connect --commands="/host=master/server-config=server-three:remove()"
align_left "$DOTSTRING" "Remove server-three"
result=`jboss-cli.sh --connect --commands="/host=master/server-config=server-three:remove()"` 2>$1
align_echo $? $result

# Set controllers memory usage
jboss-cli.sh --connect --commands="/host=master/jvm=default:remove()"
jboss-cli.sh --connect --commands="/host=master/jvm=default:add(heap-size=$HOST_HEAP_SIZE, max-heap-size=$HOST_MAX_HEAP_SIZE, permgen-size=$HOST_PERMGEN_SIZE, max-permgen-size=$HOST_MAX_PERMGEN_SIZE)"
jboss-cli.sh --connect --commands="/host=master/jvm=default:add-jvm-option(jvm-option="\""-server"\"")"
align_left "$DOTSTRING" "Reconfigure controllers"
result=`jboss-cli.sh --connect --commands="batch,
/host=master/jvm=default:remove(),
/host=master/jvm=default:add(heap-size=$HOST_HEAP_SIZE, max-heap-size=$HOST_MAX_HEAP_SIZE, permgen-size=$HOST_PERMGEN_SIZE, max-permgen-size=$HOST_MAX_PERMGEN_SIZE),
/host=master/jvm=default:add-jvm-option(jvm-option="\""-server"\""),
run-batch"` 2>$1
align_echo $? $result
#jboss-cli.sh --connect --commands="/host=master/jvm=default:add-jvm-option(jvm-option="\""-Djgroups.bind_addr=$HOST"\"")"

# Configure system properties for servers
jboss-cli.sh --connect --commands="/host=master/server-config=server-one/system-property=jgroups.bind_addr:add(value=$HOST)"
jboss-cli.sh --connect --commands="/host=master/server-config=server-two/system-property=jgroups.bind_addr:add(value=$HOST)"
# Geoserver cluster
jboss-cli.sh --connect --commands="/host=master/server-config=server-one/system-property=GEOSERVER_DATA_DIR:add(value=/data/geoserver-data/server-one)"
jboss-cli.sh --connect --commands="/host=master/server-config=server-two/system-property=GEOSERVER_DATA_DIR:add(value=/data/geoserver-data/server-two)"
align_left "$DOTSTRING" "Configure system properties"
result=`jboss-cli.sh --connect --commands="batch,
/host=master/server-config=server-one/system-property=jgroups.bind_addr:add(value=$HOST),
/host=master/server-config=server-two/system-property=jgroups.bind_addr:add(value=$HOST),
/host=master/server-config=server-one/system-property=GEOSERVER_DATA_DIR:add(value=/data/geoserver-data/server-one),
/host=master/server-config=server-two/system-property=GEOSERVER_DATA_DIR:add(value=/data/geoserver-data/server-two),
run-batch"` 2>$1
align_echo $? $result

# Configure admin password and standby password
add-user.sh -u admin -p admin\!12345 -s
add-user.sh -u standby -p standby\!12345 -s
add-user.sh -u admin -p admin\!12345 -s &>/dev/null
add-user.sh -u standby -p standby\!12345 -s &>/dev/null

# Add PostgreSQL JDBC driver
jboss-cli.sh --connect --commands="/profile=full-ha/subsystem=datasources/jdbc-driver=postgresql:add(driver-name=postgresql, driver-module-name=org.postgresql, driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource)"
align_left "$DOTSTRING" "Add PostgreSQL JDBC Driver"
result=`jboss-cli.sh --connect --commands="batch,
/profile=default/subsystem=datasources/jdbc-driver=postgresql:add(driver-name=postgresql, driver-module-name=org.postgresql, driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource),
/profile=full-ha/subsystem=datasources/jdbc-driver=postgresql:add(driver-name=postgresql, driver-module-name=org.postgresql, driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource),
run-batch"` 2>$1
align_echo $? $result

# Remove ExampleDS datasource
jboss-cli.sh --connect --commands="/profile=full-ha/subsystem=datasources/data-source=ExampleDS:remove()"
align_left "$DOTSTRING" "Remove ExampleDS datasource"
result=`jboss-cli.sh --connect --commands="batch,
/profile=default/subsystem=datasources/data-source=ExampleDS:remove(),
/profile=full-ha/subsystem=datasources/data-source=ExampleDS:remove(),
run-batch"` 2>$1
align_echo $? $result
echo "Begin configure DataSource's"
for ((i = 0; i < ${#DS_POOL_NAMES[@]}; i++)); do
    # Encript passwords for datasources
    encrypted=`java -classpath ${ENCRYPT_CLASS_PATH} org.picketbox.datasource.security.SecureIdentityLoginModule "${DS_PASSWORDS[$i]}"`
    encrypted=(${encrypted// / });
    encrypted=${encrypted[2]}
    jboss-cli.sh --connect --commands="batch,
    align_left "$DOTSTRING" "Create encrypted passowrd for ${DS_USERS[$i]}"
    result=`jboss-cli.sh --connect --commands="batch,
        /profile=default/subsystem=security/security-domain=encrypted_pass_$i:add(cache-type=default),
        /profile=default/subsystem=security/security-domain=encrypted_pass_$i/authentication=classic:add(),
        /profile=default/subsystem=security/security-domain=encrypted_pass_$i/authentication=classic/login-module=postgres_login_module:add(code=SecureIdentity, flag=required,module-options=[username="${DS_USERS[$i]}", password="$encrypted"]),
        /profile=full-ha/subsystem=security/security-domain=encrypted_pass_$i:add(cache-type=default),
        /profile=full-ha/subsystem=security/security-domain=encrypted_pass_$i/authentication=classic:add(),
        /profile=full-ha/subsystem=security/security-domain=encrypted_pass_$i/authentication=classic/login-module=postgres_login_module:add(code=SecureIdentity, flag=required,module-options=[username="${DS_USERS[$i]}", password="$encrypted"]),
        run-batch"
        run-batch"` 2>$1
    align_echo $? $result

    # Add datasources from matrix
    min_pool_size=1
    max_pool_size=50
    jboss-cli.sh --connect --commands="/profile=full-ha/subsystem=datasources/data-source=\"${DS_POOL_NAMES[$i]}\":add(
    max_pool_size=25
    align_left "$DOTSTRING" "Create datasource ${DS_POOL_NAMES[$i]}"
    result=`jboss-cli.sh --connect --commands="batch,
    /profile=default/subsystem=datasources/data-source=\"${DS_POOL_NAMES[$i]}\":add(
        jndi-name=\"${DS_JNDI_NAMES[$i]}\",
        connection-url=\"${DS_CONNECTION_URLS[$i]}\",
        driver-class=org.postgresql.Driver,
        driver-name=postgresql,
        min-pool-size=$min_pool_size,
        max-pool-size=$max_pool_size,
        enabled=true,
        use-java-context=true,
        security-domain=encrypted_pass_$i,
        pool-prefill=false,
        pool-use-strict-min=true,
        allow-multiple-users=true,
        check-valid-connection-sql=\"SELECT 1\",
        validate-on-match=true,
        background-validation-millis=1,
        background-validation=true
        ),
    /profile=full-ha/subsystem=datasources/data-source=\"${DS_POOL_NAMES[$i]}\":add(
        jndi-name=\"${DS_JNDI_NAMES[$i]}\",
        connection-url=\"${DS_CONNECTION_URLS[$i]}\",
        driver-class=org.postgresql.Driver,
@@ -386,11 +526,14 @@ for ((i = 0; i < ${#DS_POOL_NAMES[@]}; i++)); do
        validate-on-match=true,
        background-validation-millis=1,
        background-validation=true
        )"
        ),
    run-batch"` 2>$1
    align_echo $? $result
done

# Set properties for load-demo application, use for debug
jboss-cli.sh --connect --commands="batch,
align_left "$DOTSTRING" "Configure global system-properties"
result=`jboss-cli.sh --connect --commands="batch,
    /system-property=org.apache.tomcat.util.ENABLE_MODELER:add(value=true),
    /system-property=org.apache.coyote.http11.Http11Protocol.COMPRESSION:add(value=on),
    /system-property=org.apache.coyote.http11.Http11Protocol.COMPRESSION_MIME_TYPES:add(value=\"text/javascript,text/css,text/html\"),
@@ -399,31 +542,13 @@ jboss-cli.sh --connect --commands="batch,
    /system-property=org.otd414.security.null_user_restrict:add(value=false),
    /system-property=org.otd414.security.dont_create_views:add(value=false),
    /system-property=org.otd414.servername:add(value=jboss.7.2),
    run-batch"
    run-batch"` 2>$1
align_echo $? $result

service as7-domain restart

if [[ "$TYPE" == "primary" ]]; then
    if [[ $DEPLOY == true ]]; then
        echo "Deploy applications from war folder"
        files=`find war/ -type f`
        files=(${files// / });
        for (( i=0; i < ${#files[@]}; i++ )); do
            # Try assign on all server groups
            result=`jboss-cli.sh --connect --commands="deploy ${files[$i]} --all-server-groups" 2>&1`
            exit_code=$?
            if [[ $exit_code != 0 ]]; then
                # Try update repository
                jboss-cli.sh --connect --commands="deploy ${files[$i]} --force"
                exit_code=$?
                if [[ $exit_code != 0 ]]; then
                    echo -e "${files[$i]}\t\t\t[fail]"
                else
                    echo -e "${files[$i]}\t\t\t[done]"
        dodeploy-cluster war/
    fi
            else
                echo -e "${files[$i]}\t\t\t[done]"
fi
        done
    fi
fi

service as7-domain restart