Loading jboss/configure.sh +222 −97 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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" Loading Loading @@ -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 Loading @@ -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/*" Loading @@ -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 { Loading Loading @@ -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, Loading @@ -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\"), Loading @@ -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 Loading
jboss/configure.sh +222 −97 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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" Loading Loading @@ -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 Loading @@ -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/*" Loading @@ -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 { Loading Loading @@ -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, Loading @@ -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\"), Loading @@ -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