| #!/bin/sh | |
| # | |
| # Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved. | |
| # | |
| # This program and the accompanying materials are made available under the | |
| # terms of the Eclipse Public License v. 2.0, which is available at | |
| # http://www.eclipse.org/legal/epl-2.0. | |
| # | |
| # This Source Code may also be made available under the following Secondary | |
| # Licenses when the conditions for such availability set forth in the | |
| # Eclipse Public License v. 2.0 are satisfied: GNU General Public License, | |
| # version 2 with the GNU Classpath Exception, which is available at | |
| # https://www.gnu.org/software/classpath/license.html. | |
| # | |
| # SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 | |
| # | |
| # This script creates and starts a domain called "sqe-domain" | |
| # with a single server instance named "sqe-server". | |
| #--- Extract environment properties --- "sed" doesn't work with iastools.zip used in windows | |
| for x in `cat $APS_HOME/devtests/jdbc/config/ee-config.properties` | |
| do | |
| varval=`echo $x |cut -d'=' -f1` | |
| if [ $varval = "admin.user" ]; | |
| then | |
| AS_ADMIN_USER=`echo $x |cut -d'=' -f2` | |
| fi | |
| if [ $varval = "admin.port" ]; | |
| then | |
| AS_ADMIN_PORT=`echo $x |cut -d'=' -f2` | |
| fi | |
| if [ $varval = "admin.host" ]; | |
| then | |
| AS_ADMIN_HOST=`echo $x |cut -d'=' -f2` | |
| fi | |
| if [ $varval = "orb.port" ]; | |
| then | |
| ORB_LISTENER_1_PORT=`echo $x |cut -d'=' -f2` | |
| fi | |
| if [ $varval = "http.port" ]; | |
| then | |
| HTTP_LISTENER_1_PORT=`echo $x |cut -d'=' -f2` | |
| fi | |
| if [ $varval = "https.port" ]; | |
| then | |
| SSL_PORT=`echo $x |cut -d'=' -f2` | |
| fi | |
| if [ $varval = "admin.password" ]; | |
| then | |
| AS_ADMIN_PASSWORD=`echo $x |cut -d'=' -f2` | |
| fi | |
| if [ $varval = "admin.domain" ]; | |
| then | |
| AS_ADMIN_DOMAIN=`echo $x |cut -d'=' -f2` | |
| fi | |
| if [ $varval = "nodeagent.name" ]; | |
| then | |
| AS_ADMIN_NODEAGENT=`echo $x |cut -d'=' -f2` | |
| fi | |
| if [ $varval = "server.instance.name" ]; | |
| then | |
| AS_ADMIN_SERVER=`echo $x |cut -d'=' -f2` | |
| fi | |
| if [ $varval = "cluster.name" ]; | |
| then | |
| CLUSTER_NAME="sqe-cluster" | |
| fi | |
| if [ $varval = "clustered.instance.name" ]; | |
| then | |
| CLUSTERED_INSTANCE_NAME="clustered_server" | |
| fi | |
| if [ $varval = "install.type" ]; | |
| then | |
| INSTALL_TYPE=`echo $x |cut -d'=' -f2` | |
| fi | |
| done | |
| ASADMIN=${ASADMIN}/bin/asadmin | |
| HTTP_LISTENER_2_PORT="1042" | |
| SSL_MUTUALAUTH_PORT="1058" | |
| JMX_SYSTEM_CONNECTOR_PORT="8687" | |
| export AS_ADMIN_USER | |
| export AS_ADMIN_PASSWORD | |
| export AS_ADMIN_PORT | |
| export AS_ADMIN_HOST | |
| export AS_ADMIN_DOMAIN | |
| export AS_ADMIN_NODEAGENT | |
| export AS_ADMIN_SERVER | |
| export CLUSTER_NAME | |
| export CLUSTERED_INSTANCE_NAME | |
| ##----- End Variable Defintions -------------- | |
| #Create domain: sqe-domain---- | |
| echo "creating domain ${AS_ADMIN_DOMAIN}..." | |
| ${S1AS_HOME}/bin/asadmin create-domain --adminport ${AS_ADMIN_PORT} --adminuser ${AS_ADMIN_USER} --adminpassword ${AS_ADMIN_PASSWORD} ${AS_ADMIN_DOMAIN} | |
| echo "Copying all database driver files to ${S1AS_HOME}/domains/${AS_ADMIN_DOMAIN}/lib/ext directory" | |
| # Start domain: sqe-domain---- | |
| echo "starting domain ${AS_ADMIN_DOMAIN}..." | |
| ${S1AS_HOME}/bin/asadmin start-domain --user ${AS_ADMIN_USER} --password ${AS_ADMIN_PASSWORD} ${AS_ADMIN_DOMAIN} | |
| # Create node agent (sqe-agent) referencing sqe-domain.---- | |
| echo "creating node agent: ${AS_ADMIN_NODEAGENT}..." | |
| ${S1AS_HOME}/bin/asadmin create-node-agent --host ${AS_ADMIN_HOST} --port ${AS_ADMIN_PORT} --user ${AS_ADMIN_USER} --password ${AS_ADMIN_PASSWORD} ${AS_ADMIN_NODEAGENT} | |
| #----Start the sqe-agent. ---- | |
| echo "starting node agent: ${AS_ADMIN_NODEAGENT}..." | |
| ${S1AS_HOME}/bin/asadmin start-node-agent --user ${AS_ADMIN_USER} --password ${AS_ADMIN_PASSWORD} ${AS_ADMIN_NODEAGENT} | |
| #sleep ---- | |
| echo "sleeping for 15 seconds..." | |
| sleep 15 | |
| echo "INSTALL TYPE is set to :${INSTALL_TYPE}" | |
| echo "install.type value in config.properties needs to be one of [standalone | cluster | all]" | |
| if [ ${INSTALL_TYPE} = "standalone" -o ${INSTALL_TYPE} = "all" ]; then | |
| # ---------------- | |
| # Create server instance: sqe-server---- | |
| echo "creating sever instance:${AS_ADMIN_SERVER}..." | |
| ${S1AS_HOME}/bin/asadmin create-instance \ | |
| -u ${AS_ADMIN_USER} \ | |
| -w ${AS_ADMIN_PASSWORD} \ | |
| --nodeagent ${AS_ADMIN_NODEAGENT} \ | |
| ${AS_ADMIN_SERVER} | |
| ${S1AS_HOME}/bin/asadmin start-instance \ | |
| -u ${AS_ADMIN_USER} \ | |
| -w ${AS_ADMIN_PASSWORD} \ | |
| ${AS_ADMIN_SERVER} | |
| fi | |
| if [ ${INSTALL_TYPE} = "cluster" -o ${INSTALL_TYPE} = "all" ]; then | |
| # ---------------- | |
| # Create cluster: sqe-cluster---- | |
| echo "creating cluster:${CLUSTER_NAME}..." | |
| ${S1AS_HOME}/bin/asadmin create-cluster -u ${AS_ADMIN_USER} -w ${AS_ADMIN_PASSWORD} ${CLUSTER_NAME} | |
| # Roll over ports ---------------- | |
| echo "using default ports in config.properties for first instance..." | |
| HTTP_LISTENER_1_PORT=`expr ${HTTP_LISTENER_1_PORT} ` | |
| HTTP_LISTENER_2_PORT=`expr ${HTTP_LISTENER_2_PORT} ` | |
| ORB_LISTENER_1_PORT=`expr ${ORB_LISTENER_1_PORT} ` | |
| SSL_PORT=`expr ${SSL_PORT} ` | |
| SSL_MUTUALAUTH_PORT=`expr ${SSL_MUTUALAUTH_PORT} ` | |
| JMX_SYSTEM_CONNECTOR_PORT=`expr ${JMX_SYSTEM_CONNECTOR_PORT} ` | |
| echo "Rolled Over Ports by 4! New port values are:"; | |
| echo "HTTP_LISTENER_1_PORT=${HTTP_LISTENER_1_PORT}"; | |
| echo "HTTP_LISTENER_2_PORT=${HTTP_LISTENER_2_PORT}"; | |
| echo "ORB_LISTENER_1_PORT=${ORB_LISTENER_1_PORT}"; | |
| echo "SSL_PORT=${SSL_PORT}"; | |
| # Create clustered instance: clustered-server---- | |
| echo "creating server instance:${CLUSTERED_INSTANCE_NAME}_1..." | |
| ${S1AS_HOME}/bin/asadmin create-instance \ | |
| --nodeagent ${AS_ADMIN_NODEAGENT} \ | |
| --cluster ${CLUSTER_NAME} \ | |
| --systemproperties http-listener-1-port=${HTTP_LISTENER_1_PORT}:http-listener-2-port=${HTTP_LISTENER_2_PORT}:orb-listener-1-port=${ORB_LISTENER_1_PORT}:SSL-port=${SSL_PORT}:SSL_MUTUALAUTH-port=${SSL_MUTUALAUTH_PORT}:JMX_SYSTEM_CONNECTOR-port=${JMX_SYSTEM_CONNECTOR_PORT} \ | |
| -u ${AS_ADMIN_USER} -w ${AS_ADMIN_PASSWORD} \ | |
| ${CLUSTERED_INSTANCE_NAME}_1 | |
| # Roll over ports ---------------- | |
| echo "Rolling over default port values by 4..." | |
| HTTP_LISTENER_1_PORT=`expr ${HTTP_LISTENER_1_PORT} + 4` | |
| HTTP_LISTENER_2_PORT=`expr ${HTTP_LISTENER_2_PORT} + 4` | |
| ORB_LISTENER_1_PORT=`expr ${ORB_LISTENER_1_PORT} + 4` | |
| SSL_PORT=`expr ${SSL_PORT} + 4` | |
| SSL_MUTUALAUTH_PORT=`expr ${SSL_MUTUALAUTH_PORT} + 4` | |
| JMX_SYSTEM_CONNECTOR_PORT=`expr ${JMX_SYSTEM_CONNECTOR_PORT} + 4` | |
| echo "Rolled Over Ports by 4! New port values are:"; | |
| echo "HTTP_LISTENER_1_PORT=${HTTP_LISTENER_1_PORT}"; | |
| echo "HTTP_LISTENER_2_PORT=${HTTP_LISTENER_2_PORT}"; | |
| echo "ORB_LISTENER_1_PORT=${ORB_LISTENER_1_PORT}"; | |
| echo "SSL_PORT=${SSL_PORT}"; | |
| # Create clustered instance: clustered-server---- | |
| echo "creating server instance:${CLUSTERED_INSTANCE_NAME}_2..." | |
| ${S1AS_HOME}/bin/asadmin create-instance \ | |
| --nodeagent ${AS_ADMIN_NODEAGENT} \ | |
| --cluster ${CLUSTER_NAME} \ | |
| --systemproperties http-listener-1-port=${HTTP_LISTENER_1_PORT}:http-listener-2-port=${HTTP_LISTENER_2_PORT}:orb-listener-1-port=${ORB_LISTENER_1_PORT}:SSL-port=${SSL_PORT}:SSL_MUTUALAUTH-port=${SSL_MUTUALAUTH_PORT}:JMX_SYSTEM_CONNECTOR-port=${JMX_SYSTEM_CONNECTOR_PORT} \ | |
| -u ${AS_ADMIN_USER} -w ${AS_ADMIN_PASSWORD} \ | |
| ${CLUSTERED_INSTANCE_NAME}_2 | |
| #-- END Cluster Setup-------------------------- | |
| # Start cluster: sqe-cluster---- | |
| echo "Starting cluster:${CLUSTER_NAME}..." | |
| ${S1AS_HOME}/bin/asadmin start-cluster -u ${AS_ADMIN_USER} -w ${AS_ADMIN_PASSWORD} ${CLUSTER_NAME} | |
| fi | |
| echo "EE setup complete!" | |
| # --------- Notes. ------------ | |
| #NOTE: There is an unstated jmx port 8686 which is | |
| # currently not configurable. This port will need to be specified | |
| # when creating the node agent. | |
| #NOTE: The domain should be up an running when the node agent is started. | |
| #NOTE: The stop-nodeagent command currently does | |
| # not function due to a bug so should you ever need to stop the node | |
| # agent you must kill its process. In reality you should never need | |
| # to stop the node agent once it is started. | |
| #NOTE: The ports by default will not conflict with those of the DAS. | |
| #The http-listener port will default to 8079. | |
| #echo "#NOTE: There is an unstated jmx port 8686 which is currently not configurable. This port will need to be specified when creating the node agent." | |