X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=sdc-os-chef%2Fscripts%2Fdocker_run.sh;h=d3de8039b4505f6eeb8e513b15fd76e878d91a0b;hb=HEAD;hp=061632402440c2884133930b10cc72cc561378b5;hpb=8e0e0ea3031fe1ea5823313985ea46dc97b401e4;p=sdc.git diff --git a/sdc-os-chef/scripts/docker_run.sh b/sdc-os-chef/scripts/docker_run.sh index 0616324024..d3de8039b4 100755 --- a/sdc-os-chef/scripts/docker_run.sh +++ b/sdc-os-chef/scripts/docker_run.sh @@ -13,22 +13,24 @@ SDC_USER="asdc_user" SDC_PASSWORD="Aa1234%^!" JETTY_BASE="/var/lib/jetty" +SDC_CERT_DIR="onap/cert" RELEASE=latest + LOCAL=false -RUNTESTS=false BE_DEBUG_PORT="--publish 4000:4000" FE_DEBUG_PORT="--publish 6000:6000" -ONBOARD_DEBUG_PORT="--publish 4001:4000" +ONBOARD_DEBUG_PORT="--publish 4001:4001" +CS_PORT=${CS_PORT:-9042} + +OS_USER="onap" # Java Options: -BE_JAVA_OPTIONS="-Xdebug -agentlib:jdwp=transport=dt_socket,address=4000,server=y,suspend=n -Xmx1536m -Xms1536m" -FE_JAVA_OPTIONS="-Xdebug -agentlib:jdwp=transport=dt_socket,address=6000,server=y,suspend=n -Xmx256m -Xms256m" -ONBOARD_BE_JAVA_OPTIONS="-Xdebug -agentlib:jdwp=transport=dt_socket,address=4001,server=y,suspend=n -Xmx1g -Xms1g" -DCAE_BE_JAVA_OPTIONS="-XX:MaxPermSize=256m -Xmx1024m -Dconfig.home=config -Dlog.home=/var/lib/jetty/logs/ -Dlogging.config=config/dcae-be/logback-spring.xml" -DCAE_FE_JAVA_OPTIONS="-XX:MaxPermSize=256m -Xmx1024m -Dconfig.home=config -Dlog.home=/var/lib/jetty/logs/ -Dlogging.config=config/dcae-fe/logback-spring.xml" -SIM_JAVA_OPTIONS=" -Xmx128m -Xms128m -Xss1m" +BE_JAVA_OPTIONS="-Xdebug -agentlib:jdwp=transport=dt_socket,address=*:4000,server=y,suspend=n -Xmx1536m -Xms1536m" +FE_JAVA_OPTIONS="-Xdebug -agentlib:jdwp=transport=dt_socket,address=*:6000,server=y,suspend=n -Xmx256m -Xms256m" +ONBOARD_BE_JAVA_OPTIONS="-Xdebug -agentlib:jdwp=transport=dt_socket,address=*:4001,server=y,suspend=n -Xmx1g -Xms1g" +SIM_JAVA_OPTIONS=" -Xmx128m -Xms128m -Xss1m -Dlog4j.configuration=file:///${JETTY_BASE}/config/sdc-simulator/log4j2.properties" API_TESTS_JAVA_OPTIONS="-Xmx512m -Xms512m" UI_TESTS_JAVA_OPTIONS="-Xmx1024m -Xms1024m" #Define this as variable, so it can be excluded in run commands on Docker for OSX, as /etc/localtime cant be mounted there. @@ -45,10 +47,10 @@ fi function usage { - echo "usage: docker_run.sh [ -r|--release ] [ -e|--environment ] [ -p|--port ] [ -l|--local ] [ -sim|--simulator ] [ -ta ] [ -tu ] [ -ta ] [ -tu ] [ -tad ] [ -tu ] [ -dcae|--dcae ][ -h|--help ]" + echo "usage: docker_run.sh [ -r|--release ] [ -e|--environment ] [ -p|--port ] [ -l|--local ] [ -sim|--simulator ] [ -ta ] [ -tu ] [ -ta ] [ -tu ] [ -tad ] [ -tu ] [ -h|--help ]" echo "start dockers built locally example: docker_run.sh -l" echo "start dockers built locally and simulator example: docker_run.sh -l -sim" - echo "start dockers, pull from onap nexus according to release and simulator example: docker_run.sh -r 1.3-STAGING-latest -sim" + echo "start dockers, pull from onap nexus according to release and simulator example: docker_run.sh -r 1.5-STAGING-latest -sim" echo "start dockers built locally and run api tests docker example: docker_run.sh -l -tad" echo "start dockers built locally and run only the catalog be example: docker_run.sh -l -d sdc-BE " } @@ -59,7 +61,7 @@ function cleanup { echo "Performing old dockers cleanup" if [ "$1" == "all" ] ; then - docker_ids=`docker ps -a | egrep -v "onap/sdc-simulator" | egrep "ecomp-nexus:${PORT}/sdc|sdc|Exit}|dcae" | awk '{print $1}'` + docker_ids=`docker ps -a | egrep "ecomp-nexus:${PORT}/sdc|sdc|Exit}|dcae" | awk '{print $1}'` for X in ${docker_ids} do docker rm -f ${X} @@ -78,17 +80,15 @@ function cleanup { function dir_perms { mkdir -p ${WORKSPACE}/data/logs/BE/SDC/SDC-BE mkdir -p ${WORKSPACE}/data/logs/FE/SDC/SDC-FE - - mkdir -p ${WORKSPACE}/data/logs/DCAE-BE/DCAE - mkdir -p ${WORKSPACE}/data/logs/DCAE-FE/DCAE - mkdir -p ${WORKSPACE}/data/logs/sdc-api-tests/ExtentReport mkdir -p ${WORKSPACE}/data/logs/ONBOARD/SDC/ONBOARD-BE - mkdir -p ${WORKSPACE}/data/logs/sdc-api-tests/target - mkdir -p ${WORKSPACE}/data/logs/sdc-ui-tests/ExtentReport - mkdir -p ${WORKSPACE}/data/logs/sdc-ui-tests/target - mkdir -p ${WORKSPACE}/data/logs/docker_logs - mkdir -p ${WORKSPACE}/data/logs/WS + mkdir -p ${WORKSPACE}/data/logs/sdc-api-tests/target + mkdir -p ${WORKSPACE}/data/logs/sdc-ui-tests/ExtentReport + mkdir -p ${WORKSPACE}/data/logs/sdc-ui-tests/target + mkdir -p ${WORKSPACE}/data/logs/docker_logs + mkdir -p ${WORKSPACE}/data/logs/WS + echo "Creating dir '${WORKSPACE}/data/${SDC_CERT_DIR}'" + mkdir -p ${WORKSPACE}/data/${SDC_CERT_DIR} chmod -R 777 ${WORKSPACE}/data/logs } # @@ -115,6 +115,16 @@ function ready_probe { } # +function ready_probe_jetty { + docker exec $1 /var/lib/jetty/ready-probe.sh > /dev/null 2>&1 + rc=$? + if [[ ${rc} == 0 ]]; then + echo DOCKER $1 start finished in $2 seconds + return ${SUCCESS} + fi + return ${FAILURE} +} +# function probe_docker { MATCH=`docker logs --tail 30 $1 | grep "DOCKER STARTED"` @@ -128,11 +138,14 @@ function probe_docker { } # +function probe_test_docker { + # This expected logging should be output by startup.sh of the + # respective test docker container + MATCH=`docker logs --tail 30 $1 | grep "Startup completed successfully"` + echo MATCH is -- ${MATCH} -function probe_es { - health_Check_http_code=$(curl --noproxy "*" -o /dev/null -w '%{http_code}' http://${IP}:9200/_cluster/health?wait_for_status=yellow&timeout=120s) - if [[ "$health_Check_http_code" -eq 200 ]] ; then - echo DOCKER start finished in $1 seconds + if [ -n "$MATCH" ] ; then + echo TEST DOCKER start finished in $2 seconds return ${SUCCESS} fi return ${FAILURE} @@ -152,39 +165,6 @@ function probe_sim { # -function probe_dcae_be { - health_check_http_code=$(curl -i -o /dev/null -w '%{http_code}' http://${IP}:8082/dcae/conf/composition) - if [[ "${health_check_http_code}" -eq 200 ]] ; then - echo DOCKER start finished in $1 seconds - return ${SUCCESS} - fi - return ${FAILURE} -} -# - -function probe_dcae_fe { - health_check_http_code=$(curl -i -o /dev/null -w '%{http_code}' http://${IP}:8183/dcaed/healthCheck) - if [[ "${health_check_http_code}" -eq 200 ]] ; then - echo DOCKER start finished in $1 seconds - return ${SUCCESS} - fi - return ${FAILURE} -} -# - - -# Not applicable for current release. Return Success in any case -function probe_dcae_tools { - health_check_http_code=$(curl -i -o /dev/null -w '%{http_code}' http://${IP}:8082/dcae/getResourcesByMonitoringTemplateCategory) - if [[ "${health_check_http_code}" -eq 200 ]] ; then - echo DOCKER start finished in $1 seconds - return ${SUCCESS} - fi - return ${SUCCESS} -} -# - - function monitor_docker { DOCKER_NAME=$1 echo "Monitor ${DOCKER_NAME} Docker" @@ -201,32 +181,24 @@ function monitor_docker { ready_probe ${DOCKER_NAME} ${TIME} ; status=$? ; ;; - sdc-es) - probe_es ${TIME} ; - status=$? ; - ;; sdc-BE) - ready_probe ${DOCKER_NAME} ${TIME} ; + ready_probe_jetty ${DOCKER_NAME} ${TIME} ; status=$? ; ;; sdc-FE) - ready_probe ${DOCKER_NAME} ${TIME} ; + ready_probe_jetty ${DOCKER_NAME} ${TIME} ; status=$? ; ;; sdc-onboard-BE) - ready_probe ${DOCKER_NAME} ${TIME} ; - status=$? ; - ;; - dcae-be) - probe_dcae_be ${TIME} ; + ready_probe_jetty ${DOCKER_NAME} ${TIME} ; status=$? ; ;; - dcae-fe) - probe_dcae_fe ${TIME} ; + sdc-api-tests) + probe_test_docker ${DOCKER_NAME} ${TIME}; status=$? ; ;; - dcae-tools) - probe_dcae_tools ; + sdc-ui-tests) + probe_test_docker ${DOCKER_NAME} ${TIME}; status=$? ; ;; *) @@ -236,7 +208,7 @@ function monitor_docker { esac - if [ ${status} == ${SUCCESS} ] ; then + if [[ ${status} == ${SUCCESS} ]] ; then break; fi @@ -253,27 +225,26 @@ function monitor_docker { } # - +# healthCheck script used the secure connection to send request (https is always turn on) function healthCheck { - curl --noproxy "*" ${IP}:9200/_cluster/health?pretty=true - echo "BE health-Check:" - curl --noproxy "*" http://${IP}:8080/sdc2/rest/healthCheck + echo "BE Health Check:" + curl -k --noproxy "*" https://${IP}:8443/sdc2/rest/healthCheck echo "" echo "" - echo "FE health-Check:" - curl --noproxy "*" http://${IP}:8181/sdc1/rest/healthCheck + echo "FE Health Check:" + curl -k --noproxy "*" https://${IP}:9443/sdc1/rest/healthCheck echo "" echo "" - healthCheck_http_code=$(curl --noproxy "*" -o /dev/null -w '%{http_code}' -H "Accept: application/json" -H "Content-Type: application/json" -H "USER_ID: jh0003" http://${IP}:8080/sdc2/rest/v1/user/demo;) + healthCheck_http_code=$(curl -k --noproxy "*" -o /dev/null -w '%{http_code}' -H "Accept: application/json" -H "Content-Type: application/json" -H "USER_ID: jh0003" https://${IP}:8443/sdc2/rest/v1/user/demo;) if [[ ${healthCheck_http_code} != 200 ]]; then - echo "Error [${healthCheck_http_code}] while user existance check" + echo "Error [${healthCheck_http_code}] while checking existence of user" return ${healthCheck_http_code} fi - echo "check user existance: OK" + echo "check user existence: OK" return ${healthCheck_http_code} } # @@ -293,38 +264,6 @@ function command_exit_status { # Run Containers # -#Elastic-Search -function sdc-es { - DOCKER_NAME="sdc-es" - echo "docker run sdc-elasticsearch..." - if [ ${LOCAL} = false ]; then - echo "pulling code" - docker pull ${PREFIX}/sdc-elasticsearch:${RELEASE} - fi - docker run -dit --name ${DOCKER_NAME} --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --env ES_JAVA_OPTS="-Xms512m -Xmx512m" --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --env ES_HEAP_SIZE=1024M --volume ${WORKSPACE}/data/ES:/usr/share/elasticsearch/data --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9200:9200 --publish 9300:9300 ${PREFIX}/sdc-elasticsearch:${RELEASE} /bin/sh - command_exit_status $? ${DOCKER_NAME} - echo "please wait while ES is starting..." - monitor_docker ${DOCKER_NAME} -} -# - - -#Init-Elastic-Search -function sdc-init-es { - DOCKER_NAME="sdc-init-es" - echo "docker run sdc-init-elasticsearch..." - if [ ${LOCAL} = false ]; then - echo "pulling code" - docker pull ${PREFIX}/sdc-init-elasticsearch:${RELEASE} - fi - echo "Running sdc-init-es" - docker run --name ${DOCKER_NAME} --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments ${PREFIX}/sdc-init-elasticsearch:${RELEASE} > /dev/null 2>&1 - rc=$? - docker_logs ${DOCKER_NAME} - if [[ ${rc} != 0 ]]; then exit ${rc}; fi -} -# - #Cassandra function sdc-cs { @@ -333,7 +272,7 @@ function sdc-cs { if [ ${LOCAL} = false ]; then docker pull ${PREFIX}/sdc-cassandra:${RELEASE} fi - docker run -dit --name ${DOCKER_NAME} --env RELEASE="${RELEASE}" --env CS_PASSWORD="${CS_PASSWORD}" --env ENVNAME="${DEP_ENV}" --env HOST_IP=${IP} --env MAX_HEAP_SIZE="1536M" --env HEAP_NEWSIZE="512M" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/CS:/var/lib/cassandra --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9042:9042 --publish 9160:9160 ${PREFIX}/sdc-cassandra:${RELEASE} /bin/sh + docker run -dit --name ${DOCKER_NAME} --env RELEASE="${RELEASE}" --env CS_PASSWORD="${CS_PASSWORD}" --env ENVNAME="${DEP_ENV}" --env HOST_IP=${IP} --env MAX_HEAP_SIZE="1536M" --env HEAP_NEWSIZE="512M" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/CS:/var/lib/cassandra --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish ${CS_PORT}:${CS_PORT} ${PREFIX}/sdc-cassandra:${RELEASE} /bin/sh command_exit_status $? ${DOCKER_NAME} echo "please wait while CS is starting..." monitor_docker ${DOCKER_NAME} @@ -348,7 +287,7 @@ function sdc-cs-init { if [ ${LOCAL} = false ]; then docker pull ${PREFIX}/sdc-cassandra-init:${RELEASE} fi - docker run --name ${DOCKER_NAME} --env RELEASE="${RELEASE}" --env SDC_USER="${SDC_USER}" --env SDC_PASSWORD="${SDC_PASSWORD}" --env CS_PASSWORD="${CS_PASSWORD}" --env ENVNAME="${DEP_ENV}" --env HOST_IP=${IP} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/CS:/var/lib/cassandra --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --volume ${WORKSPACE}/data/CS-Init:/root/chef-solo/cache ${PREFIX}/sdc-cassandra-init:${RELEASE} > /dev/null 2>&1 + docker run --name ${DOCKER_NAME} --env RELEASE="${RELEASE}" --env SDC_USER="${SDC_USER}" --env SDC_PASSWORD="${SDC_PASSWORD}" --env CS_PASSWORD="${CS_PASSWORD}" --env ENVNAME="${DEP_ENV}" --env HOST_IP=${IP} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/CS:/var/lib/cassandra --volume ${WORKSPACE}/data/environments:/home/sdc/chef-solo/environments --volume ${WORKSPACE}/data/CS-Init:/root/chef-solo/cache ${PREFIX}/sdc-cassandra-init:${RELEASE} > /dev/null 2>&1 rc=$? docker_logs ${DOCKER_NAME} if [[ ${rc} != 0 ]]; then exit ${rc}; fi @@ -363,7 +302,7 @@ function sdc-cs-onboard-init { if [ ${LOCAL} = false ]; then docker pull ${PREFIX}/sdc-onboard-cassandra-init:${RELEASE} fi - docker run --name ${DOCKER_NAME} --env RELEASE="${RELEASE}" --env CS_HOST_IP=${IP} --env SDC_USER="${SDC_USER}" --env SDC_PASSWORD="${SDC_PASSWORD}" --env CS_PASSWORD="${CS_PASSWORD}" --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/CS:/var/lib/cassandra --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --volume ${WORKSPACE}/data/CS-Init:/root/chef-solo/cache ${PREFIX}/sdc-onboard-cassandra-init:${RELEASE} + docker run --name ${DOCKER_NAME} --env RELEASE="${RELEASE}" --env CS_HOST_IP=${IP} --env CS_HOST_PORT=${CS_PORT} --env SDC_USER="${SDC_USER}" --env SDC_PASSWORD="${SDC_PASSWORD}" --env CS_PASSWORD="${CS_PASSWORD}" --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/CS:/var/lib/cassandra --volume ${WORKSPACE}/data/environments:/home/sdc/chef-solo/environments --volume ${WORKSPACE}/data/CS-Init:/home/sdc/chef-solo/cache ${PREFIX}/sdc-onboard-cassandra-init:${RELEASE} rc=$? docker_logs ${DOCKER_NAME} if [[ ${rc} != 0 ]]; then exit ${rc}; fi @@ -371,31 +310,31 @@ function sdc-cs-onboard-init { # -#Kibana -function sdc-kbn { - DOCKER_NAME="sdc-kbn" - echo "docker run sdc-kibana..." - if [ ${LOCAL} = false ]; then - docker pull ${PREFIX}/sdc-kibana:${RELEASE} - docker run --detach --name ${DOCKER_NAME} --env ENVNAME="${DEP_ENV}" --env NODE_OPTIONS="--max-old-space-size=200" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 5601:5601 ${PREFIX}/sdc-kibana:${RELEASE} - command_exit_status $? ${DOCKER_NAME} - fi -} -# - - #Back-End function sdc-BE { DOCKER_NAME="sdc-BE" - echo "docker run sdc-backend..." + IMAGE_NAME="sdc-backend" + IMAGE_FULL_NAME="$PREFIX/$IMAGE_NAME:$RELEASE" + echo "Running container '$DOCKER_NAME' based on image '$IMAGE_FULL_NAME'..." if [ ${LOCAL} = false ]; then - docker pull ${PREFIX}/sdc-backend:${RELEASE} + docker pull "$IMAGE_FULL_NAME" else - ADDITIONAL_ARGUMENTS=${BE_DEBUG_PORT} + ADDITIONAL_ARGUMENTS=${BE_DEBUG_PORT} fi - docker run --detach --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env cassandra_ssl_enabled="false" --env JAVA_OPTIONS="${BE_JAVA_OPTIONS}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/BE/:/var/lib/jetty/logs --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 8443:8443 --publish 8080:8080 ${ADDITIONAL_ARGUMENTS} ${PREFIX}/sdc-backend:${RELEASE} + + docker run --detach --name ${DOCKER_NAME} --env HOST_IP=${IP} \ + --env ENVNAME="${DEP_ENV}" --env cassandra_ssl_enabled="false" --env JAVA_OPTIONS="${BE_JAVA_OPTIONS}" \ + --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 \ + --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} \ + --volume ${WORKSPACE}/data/logs/BE/:${JETTY_BASE}/logs \ + --volume ${WORKSPACE}/data/environments:${JETTY_BASE}/chef-solo/environments \ + --volume "${WORKSPACE}/data/sdc-backend/plugins":${JETTY_BASE}/plugins \ + --publish 8443:8443 --publish 8080:8080 \ + ${ADDITIONAL_ARGUMENTS} \ + "$IMAGE_FULL_NAME" + command_exit_status $? ${DOCKER_NAME} - echo "please wait while BE is starting..." + echo "please wait while $DOCKER_NAME is starting..." monitor_docker ${DOCKER_NAME} } # @@ -408,7 +347,7 @@ function sdc-BE-init { if [ ${LOCAL} = false ]; then docker pull ${PREFIX}/sdc-backend-init:${RELEASE} fi - docker run --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/BE/:/var/lib/jetty/logs --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments ${PREFIX}/sdc-backend-init:${RELEASE} > /dev/null 2>&1 + docker run --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/BE/:${JETTY_BASE}/logs --volume ${WORKSPACE}/data/environments:/home/${OS_USER}/chef-solo/environments ${PREFIX}/sdc-backend-init:${RELEASE} > /dev/null 2>&1 rc=$? docker_logs ${DOCKER_NAME} if [[ ${rc} != 0 ]]; then exit ${rc}; fi @@ -427,7 +366,7 @@ function sdc-onboard-BE { else ADDITIONAL_ARGUMENTS=${ONBOARD_DEBUG_PORT} fi - docker run --detach --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env cassandra_ssl_enabled="false" --env SDC_CLUSTER_NAME="SDC-CS-${DEP_ENV}" --env SDC_USER="${SDC_USER}" --env SDC_PASSWORD="${SDC_PASSWORD}" --env JAVA_OPTIONS="${ONBOARD_BE_JAVA_OPTIONS}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/ONBOARD:/var/lib/jetty/logs --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 8445:8445 --publish 8081:8081 ${ADDITIONAL_ARGUMENTS} ${PREFIX}/sdc-onboard-backend:${RELEASE} + docker run --detach --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env cassandra_ssl_enabled="false" --env SDC_CLUSTER_NAME="SDC-CS-${DEP_ENV}" --env SDC_USER="${SDC_USER}" --env SDC_PASSWORD="${SDC_PASSWORD}" --env SDC_CERT_DIR="${SDC_CERT_DIR}" --env JAVA_OPTIONS="${ONBOARD_BE_JAVA_OPTIONS}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/${SDC_CERT_DIR}:${JETTY_BASE}/onap/cert --volume ${WORKSPACE}/data/logs/ONBOARD:${JETTY_BASE}/logs --volume ${WORKSPACE}/data/environments:/${JETTY_BASE}/chef-solo/environments --publish 8445:8445 --publish 8081:8081 ${ADDITIONAL_ARGUMENTS} ${PREFIX}/sdc-onboard-backend:${RELEASE} command_exit_status $? ${DOCKER_NAME} echo "please wait while sdc-onboard-BE is starting..." monitor_docker ${DOCKER_NAME} @@ -438,72 +377,44 @@ function sdc-onboard-BE { # Front-End function sdc-FE { DOCKER_NAME="sdc-FE" - echo "docker run sdc-frontend..." + IMAGE_NAME="${PREFIX}/sdc-frontend:${RELEASE}" + echo "Running container '${DOCKER_NAME}' based on '${IMAGE_NAME}' image..." if [ ${LOCAL} = false ]; then docker pull ${PREFIX}/sdc-frontend:${RELEASE} else ADDITIONAL_ARGUMENTS=${FE_DEBUG_PORT} fi - docker run --detach --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env JAVA_OPTIONS="${FE_JAVA_OPTIONS}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/FE/:/var/lib/jetty/logs --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9443:9443 --publish 8181:8181 ${ADDITIONAL_ARGUMENTS} ${PREFIX}/sdc-frontend:${RELEASE} - command_exit_status $? ${DOCKER_NAME} - echo "please wait while FE is starting....." - monitor_docker ${DOCKER_NAME} -} -# - -# DCAE BackEnd -function dcae-be { - if [ ! ${DCAE_ENABLE} ] ; then - return - fi - DOCKER_NAME="dcae-be" - echo "docker run ${DOCKER_NAME}..." - if [ ${LOCAL} = false ]; then - docker pull ${PREFIX}/${DOCKER_NAME}:${RELEASE} + PLUGIN_CONFIG_FILE="${WORKSPACE}/data/environments/plugins-configuration.yaml" + if [[ -f ${WORKSPACE}/data/environments/plugins-configuration.yaml ]]; then + PLUGINS_CONF_VOLUME_MOUNT="--volume ${PLUGIN_CONFIG_FILE}:${JETTY_BASE}/config/catalog-fe/plugins-configuration.yaml" + else + echo "INFO: '${PLUGIN_CONFIG_FILE}' not provided, ignoring..." fi - docker run --detach --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env JAVA_OPTIONS="${DCAE_BE_JAVA_OPTIONS}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/DCAE-BE/:/var/lib/jetty/logs --volume ${WORKSPACE}/data/environments:/var/opt/dcae-be/chef-solo/environments --publish 8444:8444 --publish 8082:8082 ${PREFIX}/${DOCKER_NAME}:${RELEASE} - command_exit_status $? ${DOCKER_NAME} - echo "please wait while ${DOCKER_NAME^^} is starting....." - monitor_docker ${DOCKER_NAME} -} -# + docker run \ + --detach \ + --name ${DOCKER_NAME} \ + --env HOST_IP=${IP} \ + --env ENVNAME="${DEP_ENV}" \ + --env JAVA_OPTIONS="${FE_JAVA_OPTIONS}" \ + --log-driver=json-file \ + --log-opt max-size=100m \ + --log-opt max-file=10 \ + --ulimit memlock=-1:-1 \ + --ulimit nofile=4096:100000 \ + --volume ${WORKSPACE}/data/logs/FE/:${JETTY_BASE}/logs \ + --volume ${WORKSPACE}/data/environments:/${JETTY_BASE}/chef-solo/environments \ + ${LOCAL_TIME_MOUNT_CMD} \ + ${PLUGINS_CONF_VOLUME_MOUNT} \ + --publish 9443:9443 \ + --publish 8181:8181 \ + ${ADDITIONAL_ARGUMENTS} \ + ${IMAGE_NAME} -# DCAE Configuration -function dcae-tools { - if [ ! ${DCAE_ENABLE} ] ; then - return - fi - DOCKER_NAME="dcae-tools" - echo "docker run ${DOCKER_NAME}..." - if [ ${LOCAL} = false ]; then - docker pull ${PREFIX}/${DOCKER_NAME}:${RELEASE} - fi - docker run --detach --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/BE/:/var/lib/jetty/logs --volume ${WORKSPACE}/data/environments:/var/opt/dcae-tools/chef-solo/environments ${PREFIX}/${DOCKER_NAME}:${RELEASE} command_exit_status $? ${DOCKER_NAME} - echo "please wait while ${DOCKER_NAME^^} is starting....." + echo "Please wait while '${DOCKER_NAME}' container is starting..." monitor_docker ${DOCKER_NAME} - -} -# - - -# DCAE FrontEnd -function dcae-fe { - if [ ! ${DCAE_ENABLE} ] ; then - return - fi - DOCKER_NAME="dcae-fe" - echo "docker run ${DOCKER_NAME}..." - if [ ${LOCAL} = false ]; then - docker pull ${PREFIX}/${DOCKER_NAME}:${RELEASE} - fi - docker run --detach --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env JAVA_OPTIONS="${DCAE_FE_JAVA_OPTIONS}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/DCAE-FE/:/var/lib/jetty/logs --volume ${WORKSPACE}/data/environments:/var/opt/dcae-fe/chef-solo/environments/ --publish 9444:9444 --publish 8183:8183 ${PREFIX}/${DOCKER_NAME}:${RELEASE} - command_exit_status $? ${DOCKER_NAME} - echo "please wait while ${DOCKER_NAME^^} is starting....." - monitor_docker ${DOCKER_NAME} - } # @@ -521,7 +432,7 @@ function sdc-api-tests { docker pull ${PREFIX}/sdc-api-tests:${RELEASE} fi - docker run --detach --name sdc-api-tests --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env JAVA_OPTIONS="${API_TESTS_JAVA_OPTIONS}" --env SUITE_NAME=${API_SUITE} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/sdc-api-tests/target:/var/lib/tests/target --volume ${WORKSPACE}/data/logs/sdc-api-tests/ExtentReport:/var/lib/tests/ExtentReport --volume ${WORKSPACE}/data/logs/sdc-api-tests/outputCsar:/var/lib/tests/outputCsar --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9560:9560 ${PREFIX}/sdc-api-tests:${RELEASE} echo "please wait while SDC-API-TESTS is starting....." + docker run --detach --name sdc-api-tests --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env JAVA_OPTIONS="${API_TESTS_JAVA_OPTIONS}" --env SUITE_NAME=${API_SUITE} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/sdc-api-tests/target:/var/lib/tests/target --volume ${WORKSPACE}/data/logs/sdc-api-tests/ExtentReport:/var/lib/tests/ExtentReport --volume ${WORKSPACE}/data/logs/sdc-api-tests/outputCsar:/var/lib/tests/outputCsar --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --volume ${WORKSPACE}/data/${SDC_CERT_DIR}:/var/lib/tests/cert --publish 9560:9560 ${PREFIX}/sdc-api-tests:${RELEASE} echo "please wait while SDC-API-TESTS is starting....." monitor_docker sdc-api-tests fi fi @@ -555,7 +466,7 @@ function sdc-ui-tests { # SDC-Simulator function sdc-sim { - if [ ${RUN_SIMULATOR} == true ]; then + if [ "${RUN_SIMULATOR}" == true ]; then echo "docker run sdc-webSimulator..." if [ ${LOCAL} = false ]; then docker pull ${PREFIX}/sdc-simulator:${RELEASE} @@ -571,7 +482,7 @@ function sdc-sim { --env JAVA_OPTIONS="${SIM_JAVA_OPTIONS}" \ --env ENVNAME="${DEP_ENV}" \ ${LOCAL_TIME_MOUNT_CMD} \ - --volume ${WORKSPACE}/data/logs/WS/:/var/lib/jetty/logs \ + --volume ${WORKSPACE}/data/logs/WS/:${JETTY_BASE}/logs \ --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments \ --publish 8285:8080 \ --publish 8286:8443 ${PREFIX}/sdc-simulator:${RELEASE} @@ -647,17 +558,13 @@ while [ $# -gt 0 ]; do shift 1 ;; # -sim | --simulator run the simulator -sim | --simulator ) - RUN_SIMULATOR=true; - shift 1 ;; + RUN_SIMULATOR=true; + shift 1 ;; # -sim | --simulator run the simulator -u | --fe_url ) - shift 1 ; - FE_URL=$1; - shift 1 ;; - # -dcae | --dcae - Use this to deploy DCAE upon SDC - -dcae | --dcae ) - shift 1 ; - DCAE_ENABLE='True';; + shift 1 ; + FE_URL=$1; + shift 1 ;; # -h | --help - Display the help message with all the available run options -h | --help ) @@ -671,7 +578,7 @@ while [ $# -gt 0 ]; do done -#Prefix those with WORKSPACE so it can be set to something other then /opt +#Prefix those with WORKSPACE so it can be set to something other than /opt [ -f ${WORKSPACE}/opt/config/env_name.txt ] && DEP_ENV=$(cat ${WORKSPACE}/opt/config/env_name.txt) || echo ${DEP_ENV} [ -f ${WORKSPACE}/opt/config/nexus_username.txt ] && NEXUS_USERNAME=$(cat ${WORKSPACE}/opt/config/nexus_username.txt) || NEXUS_USERNAME=release [ -f ${WORKSPACE}/opt/config/nexus_password.txt ] && NEXUS_PASSWD=$(cat ${WORKSPACE}/opt/config/nexus_password.txt) || NEXUS_PASSWD=sfWU3DFVdBr7GVxB85mTYgAW @@ -694,27 +601,21 @@ echo "" if [ -z "${DOCKER}" ]; then cleanup all - dir_perms - sdc-es - sdc-init-es - sdc-cs - sdc-cs-init -# sdc-kbn - sdc-cs-onboard-init - sdc-onboard-BE - sdc-BE - sdc-BE-init - sdc-FE - dcae-be - dcae-tools - dcae-fe - healthCheck + dir_perms + sdc-cs + sdc-cs-init + sdc-cs-onboard-init + sdc-onboard-BE + sdc-BE + sdc-BE-init + sdc-FE + healthCheck sdc-sim - sdc-api-tests - sdc-ui-tests + sdc-api-tests + sdc-ui-tests else - cleanup ${DOCKER} - dir_perms - ${DOCKER} + cleanup ${DOCKER} + dir_perms + ${DOCKER} healthCheck fi