diff options
author | Christopher Lott (cl778h) <clott@research.att.com> | 2017-08-23 18:27:19 -0400 |
---|---|---|
committer | Christopher Lott (cl778h) <clott@research.att.com> | 2017-08-23 21:12:56 -0400 |
commit | 978dbcf0a196acbafad72fe1e2478ec0e384f02f (patch) | |
tree | 17e1ceaa4a12a599320cbb317947e990bf1a5383 /deliveries | |
parent | bc7350dce5b7b1dcd1c472a3922b42c4ea99809d (diff) |
Deliver centralized role management feature
Repair multiple defects also.
Revise deployment to use docker-compose.
Remove all zip archives.
Issue: PORTAL-21, PORTAL-25, PORTAL-28, PORTAL-52, PORTAL-69,
PORTAL-74, PORTAL-76, PORTAL-80, PORTAL-82
Change-Id: Ie72fec7d35ba78beb162bba6ed27b2caee340c61
Signed-off-by: Christopher Lott (cl778h) <clott@research.att.com>
Diffstat (limited to 'deliveries')
41 files changed, 1184 insertions, 517 deletions
diff --git a/deliveries/.env b/deliveries/.env new file mode 100644 index 00000000..fa307685 --- /dev/null +++ b/deliveries/.env @@ -0,0 +1,17 @@ +# Environment settings +# used by docker-compose AND by other shell scripts + +# Host directory with config files +PROJECT_DIR=/PROJECT/OpenSource/UbuntuEP + +# Directory within containers +WEBAPPS_DIR=/opt/apache-tomcat-8.0.37/webapps + +# Following are ALSO used in demo/boot/portal_vm_init.sh +EP_IMG_NAME=portal-apps +DB_IMG_NAME=portal-db +WMS_IMG_NAME=portal-wms +# Tag all images with this +PORTAL_TAG=1.1.0 + +NEXUS_REPO=nexus3.onap.org:10003 diff --git a/deliveries/.gitignore b/deliveries/.gitignore index f12ac3a0..796b96d1 100644 --- a/deliveries/.gitignore +++ b/deliveries/.gitignore @@ -1 +1 @@ -/PROJECT +/build diff --git a/deliveries/Apps_Users_OnBoarding_Script.sql b/deliveries/Apps_Users_OnBoarding_Script.sql index ff3d3e96..2d1adfb5 100644 --- a/deliveries/Apps_Users_OnBoarding_Script.sql +++ b/deliveries/Apps_Users_OnBoarding_Script.sql @@ -345,14 +345,14 @@ select * from fn_role where app_id = (select app_id from fn_app where app_name = ) b ); -- end new -INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (6,'NEWS','http://about.att.com/innovationblog/next_att_labs','What\s Next at AT&T Labs? AI Set to Revolutionize the Network',NULL,NULL,10); -INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (7,'NEWS','http://about.att.com/innovationblog/ecomp_code','Code, Community and Commitment – the 3 Cs of Open Source',NULL,NULL,20); +INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (6,'NEWS','http://about.att.com/innovationblog/next_att_labs','What\'s Next at AT&T Labs? AI Set to Revolutionize the Network',NULL,NULL,10); +INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (7,'NEWS','http://about.att.com/innovationblog/ecomp_code','Code, Community and Commitment - the 3 Cs of Open Source',NULL,NULL,20); INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (8,'NEWS','http://about.att.com/story/orange_testing_att_open_source_ecomp_platform.html','Orange Testing AT&Ts Open Source ECOMP Platform for Building Software-Defined Network Capabilities',NULL,NULL,30); INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (9,'NEWS', 'http://about.att.com/innovationblog/linux_foundation','Opening up ECOMP: Our Network Operating System for SDN',NULL,NULL,40); INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (10,'EVENTS',NULL,'OpenECOMP Launches into Open Source',NULL,'2017-02-14',1); INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (11,'IMPORTANTRESOURCES','http://about.att.com/content/dam/snrdocs/ecomp.pdf','ECOMP White Paper',NULL,NULL,1); INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (12,'IMPORTANTRESOURCES','https://wiki.onap.org/','ONAP Wiki',NULL,NULL,2); -INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (13,'IMPORTANTRESOURCES','https://wiki.onap.org/display/DW/Portal','ONAP Wiki, Portal',NULL,NULL,3); +INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (13,'IMPORTANTRESOURCES','https://wiki.onap.org/display/DW/Portal','ONAP Wiki for Portal',NULL,NULL,3); INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (14,'IMPORTANTRESOURCES','https://wiki.onap.org/display/DW/Development+Guides','ONAP User Guide',NULL,NULL,4); diff --git a/deliveries/Dockerfile.mariadb b/deliveries/Dockerfile.mariadb index 004e7af8..5b0abd51 100644 --- a/deliveries/Dockerfile.mariadb +++ b/deliveries/Dockerfile.mariadb @@ -1,34 +1,28 @@ FROM mariadb:latest -#Author -MAINTAINER Manoop talasila@research.att.com - -ARG SCRIPT_DIR=${SCRIPT_DIR} -ARG SCRIPT_COMMON_DIR=${SCRIPT_COMMON_DIR} +ARG PORTAL_SCRIPT_DIR=${PORTAL_SCRIPT_DIR} ARG SDK_SCRIPT_DIR=${SDK_SCRIPT_DIR} -ARG SDK_COMMON_SCRIPT_DIR=${SDK_COMMON_SCRIPT_DIR} -ARG DBC_COMMON_SCRIPT_DIR=${DBC_COMMON_SCRIPT_DIR} ARG DBC_SCRIPT_DIR=${DBC_SCRIPT_DIR} # constant #Add config file -ADD my.cnf /etc/mysql/my.cnf +COPY my.cnf /etc/mysql/my.cnf #ADD cluster.cnf /etc/mysql/conf.d # Scripts are executed in alphabetical order -# Portal DDL and DML -ADD ${SCRIPT_COMMON_DIR}/EcompPortalDDLMySql_1707_Common.sql docker-entrypoint-initdb.d -ADD ${SCRIPT_DIR}/EcompPortalDDLMySql_1707_OS.sql docker-entrypoint-initdb.d -ADD ${SCRIPT_COMMON_DIR}/EcompPortalDMLMySql_1707_Common.sql docker-entrypoint-initdb.d -ADD ${SCRIPT_DIR}/EcompPortalDMLMySql_1707_OS.sql docker-entrypoint-initdb.d -ADD Apps_Users_OnBoarding_Script.sql docker-entrypoint-initdb.d/EcompPortalDMLMySql_1707_z_apps_users.sql +# Portal DDL and DML at 1710 +COPY ${PORTAL_SCRIPT_DIR}/EcompPortalDDLMySql_1710_Common.sql /docker-entrypoint-initdb.d/ +COPY ${PORTAL_SCRIPT_DIR}/EcompPortalDDLMySql_1710_OS.sql /docker-entrypoint-initdb.d/ +COPY ${PORTAL_SCRIPT_DIR}/EcompPortalDMLMySql_1710_Common.sql /docker-entrypoint-initdb.d/ +COPY ${PORTAL_SCRIPT_DIR}/EcompPortalDMLMySql_1710_OS.sql /docker-entrypoint-initdb.d/ +COPY Apps_Users_OnBoarding_Script.sql /docker-entrypoint-initdb.d/EcompPortalDMLMySql_1710_z_apps_users.sql -# SDK App DDL and DML -ADD ${SDK_COMMON_SCRIPT_DIR}/EcompSdkDDLMySql_1707_Common.sql docker-entrypoint-initdb.d -ADD ${SDK_SCRIPT_DIR}/EcompSdkDDLMySql_1707_OS.sql docker-entrypoint-initdb.d -ADD ${SDK_COMMON_SCRIPT_DIR}/EcompSdkDMLMySql_1707_Common.sql docker-entrypoint-initdb.d -ADD ${SDK_SCRIPT_DIR}/EcompSdkDMLMySql_1707_OS.sql docker-entrypoint-initdb.d +# SDK App DDL and DML unchanged since 1707 +COPY ${SDK_SCRIPT_DIR}/EcompSdkDDLMySql_1707_Common.sql /docker-entrypoint-initdb.d/ +COPY ${SDK_SCRIPT_DIR}/EcompSdkDDLMySql_1707_OS.sql /docker-entrypoint-initdb.d/ +COPY ${SDK_SCRIPT_DIR}/EcompSdkDMLMySql_1707_Common.sql /docker-entrypoint-initdb.d/ +COPY ${SDK_SCRIPT_DIR}/EcompSdkDMLMySql_1707_OS.sql /docker-entrypoint-initdb.d/ -# DBC App combined DDL/DML, built by os_build_febe.sh -ADD ${DBC_SCRIPT_DIR}/dbca-complete-mysql-1707-os.sql docker-entrypoint-initdb.d +# DBC App combined DDL/DML, built by script +COPY ${DBC_SCRIPT_DIR}/dbca-complete-mysql-1707-os.sql /docker-entrypoint-initdb.d/ diff --git a/deliveries/Dockerfile.portalapps b/deliveries/Dockerfile.portalapps index 3e295e8f..c9fab4db 100644 --- a/deliveries/Dockerfile.portalapps +++ b/deliveries/Dockerfile.portalapps @@ -1,7 +1,10 @@ # Dockerfile for image with ONAP applications: # Portal app, Portal-SDK app, Portal-DBC app. -FROM openjdk:8-jdk +# Yields an image 823 MB +FROM frolvlad/alpine-oraclejdk8:slim +# Yields an image 1.4 GB +# FROM openjdk:8-jdk # Arguments are supplied by build.sh script # the defaults below only support testing @@ -12,21 +15,28 @@ ARG DBC_WAR=build/dmaap-bc-app-os.war ARG HTTP_PROXY ARG HTTPS_PROXY -# This is just a variable, never passed in -ARG TOMCATHOME=/opt/apache-tomcat-8.0.37 +# Just variables, never passed in +ARG TOMCAT=apache-tomcat-8.0.37 +ARG TOMCATTAR=${TOMCAT}.tar.gz +ARG TOMCATHOME=/opt/${TOMCAT} ENV http_proxy $HTTP_PROXY ENV https_proxy $HTTPS_PROXY RUN if [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \ if [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi -# Install Tomcat; curl is already part of this image +# Install the wait script +COPY wait-for.sh / + +# Install Tomcat. This image already has curl. WORKDIR /tmp -RUN curl -s -O https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.37/bin/apache-tomcat-8.0.37.tar.gz -RUN tar -xzf apache-tomcat-8.0.37.tar.gz +RUN wget -q http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.37/bin/apache-tomcat-8.0.37.tar.gz +RUN tar -xzf ${TOMCATTAR} +RUN rm ${TOMCATTAR} # Remove manager and sample apps -RUN rm -fr apache-tomcat-8.0.37/webapps/[a-z]* -RUN mv apache-tomcat-8.0.37 /opt +RUN rm -fr ${TOMCAT}/webapps/[a-z]* +RUN mkdir -p /opt +RUN mv ${TOMCAT} /opt WORKDIR ${TOMCATHOME}/webapps RUN mkdir ECOMPPORTAL && mkdir ECOMPSDKAPP && mkdir ECOMPDBCAPP @@ -46,9 +56,12 @@ RUN cd ECOMPDBCAPP && unzip -q *.war && rm *.war VOLUME ${TOMCATHOME}/logs +# Switch back to root +WORKDIR / + # Define commonly used ENV variables ENV PATH $PATH:$JAVA_HOME/bin:${TOMCATHOME}/bin -COPY configure-and-run.sh / +COPY start-apps-cmd.sh / # Define default command. -CMD ["/configure-and-run.sh"] +CMD /start-apps-cmd.sh diff --git a/deliveries/Dockerfile.widgetms b/deliveries/Dockerfile.widgetms new file mode 100644 index 00000000..16bf60b1 --- /dev/null +++ b/deliveries/Dockerfile.widgetms @@ -0,0 +1,18 @@ +# Large image +# FROM openjdk:8-jdk +# Very small image +FROM frolvlad/alpine-oraclejdk8:slim + +# Arguments are supplied by build script; +# the defaults below only support testing +ARG WMS_JAR=build/widget-ms.jar +# Launch script +COPY start-wms-cmd.sh / +# Wait script, which depends on nc +COPY wait-for.sh / +# Onejar +COPY ${WMS_JAR} /app.jar +RUN sh -c 'touch /app.jar' +VOLUME /tmp +ENV JAVA_OPTS="" +CMD /start-wms-cmd.sh diff --git a/deliveries/README.md b/deliveries/README.md index bc9bc3fe..99832c8e 100644 --- a/deliveries/README.md +++ b/deliveries/README.md @@ -1 +1,6 @@ - "moved insert statement to fn_common_widget_data table from EcompPortalDMLMySql_1707_OS.sql to Apps_Users_OnBoarding_Script.sql, the Onboard script in deliveries folder". +This directory has configuration files for building docker images, +and management files for starting and stopping docker containers. + +The Apps_Users_OnBoarding_Script.sql file has data for ONAP demo deployments: +it adds users and applications so the Portal app has meaningful content on +startup. These were moved from script EcompPortalDMLMySql_1707_OS.sql. diff --git a/deliveries/build_portalapps_dockers.sh b/deliveries/build_portalapps_dockers.sh index a45e55cc..ead31e82 100755 --- a/deliveries/build_portalapps_dockers.sh +++ b/deliveries/build_portalapps_dockers.sh @@ -8,16 +8,9 @@ # Stop on error; show output set -e -x -# For debugging only bcox the FE build takes a long time -SKIPFE=N -if [ $# -gt 0 -a "$1" == "skipfe" ] ; then - echo "Skipping Portal-FE build step" - SKIPFE=Y -fi - -# Establish environment variables -echo "Set variables" -source $(dirname $0)/os_settings.sh +# This reuses the docker-compose file +echo "Set image tag name variables" +source $(dirname $0)/.env # Work standalone AND in the ONAP Jenkins. # Pick up Jenkins settings for this script. @@ -25,70 +18,91 @@ source $(dirname $0)/os_settings.sh if [ -n "$MVN" ]; then export MVN="${MVN} -B -gs ${GLOBAL_SETTINGS_FILE} -s ${SETTINGS_FILE}" else - MVN=mvn + # Force refresh of snapshots + MVN="mvn -B -U" fi # This expects to start in the deliveries folder; make sure -DOCKERFILE=Dockerfile.portalapps -if [ ! -f $DOCKERFILE ] ; then - echo "Failed to find expected file; must start in deliveries folder" +PORTAL_DOCKERFILE=Dockerfile.portalapps +if [ ! -f $PORTAL_DOCKERFILE ] ; then + echo "Failed to find file ${PORTAL_DOCKERFILE}; must start in deliveries folder; exiting" exit 1 fi -# Establish directories and variables +# Store directory names as variables +# This is the Docker Project area. DELIV="$(pwd)" -# Relative path of temp directory -BUILD="build" -# Absolute path of temp directory -OUT=$DELIV/$BUILD -if [ $SKIPFE == "Y" ]; then - echo "Skipping clean/recreate of $OUT" -else - rm -fr $OUT - mkdir $OUT -fi -# parent directory +# parent directory, for finding source projects cd .. BASE="$(pwd)" - -# Copy DDL/DML to required directories (old scripts use long path /PROJECT/...) cd $DELIV -rm -fr PROJECT + +# Relative path of temp directory +BUILD_REL="build" +# Absolute path of temp directory +BUILD_ABS=$DELIV/$BUILD_REL +rm -fr $BUILD_REL +mkdir $BUILD_REL + +# Copy DDL/DML to required directories + +# RELATIVE PATHS to local directories with database scripts +# bcos Docker looks within this build area only +SCR_BASE=$BUILD_REL/scripts +PORTAL_SCRIPT_DIR=$SCR_BASE/ecomp-portal-DB-os +SDK_SCRIPT_DIR=$SCR_BASE/epsdk-app-os +DBC_SCRIPT_DIR=$SCR_BASE/dbca-os +mkdir -p ${PORTAL_SCRIPT_DIR} ${SDK_SCRIPT_DIR} ${DBC_SCRIPT_DIR} + # copy over DB scripts for the dockerfiles -# forgive the ugly trick with the .. at end. -mkdir -p ${SCRIPT_COMMON_DIR} && cp -r $BASE/ecomp-portal-DB-common ${SCRIPT_COMMON_DIR}/.. -mkdir -p ${SCRIPT_DIR} && cp -r $BASE/ecomp-portal-DB-os ${SCRIPT_DIR}/.. -mkdir -p ${SDK_COMMON_SCRIPT_DIR} && cp -r $BASE/sdk/ecomp-sdk/epsdk-app-common/db-scripts ${SDK_COMMON_SCRIPT_DIR}/.. -mkdir -p ${SDK_SCRIPT_DIR} && cp -r $BASE/sdk/ecomp-sdk/epsdk-app-os/db-scripts ${SDK_SCRIPT_DIR}/.. -# Build complete database script for DBC -DBCA_OPEN_SD=$BASE/dmaapbc/dcae_dmaapbc_webapp/dbca-os/db-scripts -DBCA_COMM_SD=$BASE/dmaapbc/dcae_dmaapbc_webapp/dbca-common/db-scripts -# Old scripts expect this path -mkdir -p $DBC_SCRIPT_DIR -cat $DBCA_OPEN_SD/dbca-create-mysql-1707-os.sql $DBCA_COMM_SD/dbca-ddl-mysql-1707-common.sql $DBCA_OPEN_SD/dbca-dml-mysql-1707-os.sql > $DBC_SCRIPT_DIR/dbca-complete-mysql-1707-os.sql - -cd $BASE/ecomp-portal-BE-common +# Portal +cp $BASE/ecomp-portal-DB-common/*.sql ${PORTAL_SCRIPT_DIR} +cp $BASE/ecomp-portal-DB-os/*.sql ${PORTAL_SCRIPT_DIR} +# SDK app +cp $BASE/sdk/ecomp-sdk/epsdk-app-common/db-scripts/*.sql ${SDK_SCRIPT_DIR} +cp $BASE/sdk/ecomp-sdk/epsdk-app-os/db-scripts/*.sql ${SDK_SCRIPT_DIR} +# DBC app +cp $BASE/dmaapbc/dcae_dmaapbc_webapp/dbca-common/db-scripts/*.sql ${DBC_SCRIPT_DIR} +cp $BASE/dmaapbc/dcae_dmaapbc_webapp/dbca-os/db-scripts/*.sql ${DBC_SCRIPT_DIR} +# Assemble a script with "use" at the top. +cat $DBC_SCRIPT_DIR/dbca-create-mysql-1707-os.sql $DBC_SCRIPT_DIR/dbca-ddl-mysql-1707-common.sql $DBC_SCRIPT_DIR/dbca-dml-mysql-1707-os.sql > $DBC_SCRIPT_DIR/dbca-complete-mysql-1707-os.sql + +# build database docker +DB_DOCKER_CMD=" + docker build -t ${DB_IMG_NAME}:${PORTAL_TAG} ${PROXY_ARGS} + --build-arg PORTAL_SCRIPT_DIR=${PORTAL_SCRIPT_DIR} + --build-arg SDK_SCRIPT_DIR=${SDK_SCRIPT_DIR} + --build-arg DBC_SCRIPT_DIR=${DBC_SCRIPT_DIR} + -f Dockerfile.mariadb . +" +echo "Build mariadb docker image" +$DB_DOCKER_CMD + +echo "Build all jar and war files in Portal" +cd $BASE ${MVN} clean install +echo "Copy Portal app BE" cd $BASE/ecomp-portal-BE-os -${MVN} clean package -cp target/ecompportal-be-os.war $OUT +cp target/ecompportal-be-os.war $BUILD_ABS +echo "Copy Portal app FE" cd $BASE/ecomp-portal-FE-os/ -if [ $SKIPFE == "Y" ]; then - echo "Skipping MVN in $(pwd)" -else - ${MVN} clean package - cp -r dist/public $OUT -fi +cp -r dist/public $BUILD_ABS + +echo "Copy Portal widget-ms" +cd $BASE/ecomp-portal-widget-ms +cp widget-ms/target/widget-ms.jar $BUILD_ABS +echo "Build and copy Portal-SDK app" cd $BASE/sdk/ecomp-sdk/epsdk-app-os ${MVN} clean package -cp target/epsdk-app-os.war $OUT +cp target/epsdk-app-os.war $BUILD_ABS +echo "Build and copy Portal-DBC app" cd $BASE/dmaapbc/dcae_dmaapbc_webapp ${MVN} clean package -cp dbca-os/target/dmaap-bc-app-os.war $OUT +cp dbca-os/target/dmaap-bc-app-os.war $BUILD_ABS PROXY_ARGS="" if [ $HTTP_PROXY ]; then @@ -98,19 +112,26 @@ if [ $HTTPS_PROXY ]; then PROXY_ARGS+=" --build-arg HTTPS_PROXY=${HTTPS_PROXY}" fi -# build portal docker +echo "Build portal docker image" cd $DELIV PORTAL_DOCKER_CMD=" - docker build -t ${EP_IMG_NAME} ${PROXY_ARGS} - --build-arg FE_DIR=$BUILD/public - --build-arg PORTAL_WAR=$BUILD/ecompportal-be-os.war - --build-arg SDK_WAR=$BUILD/epsdk-app-os.war - --build-arg DBC_WAR=$BUILD/dmaap-bc-app-os.war - -f $DOCKERFILE . + docker build -t ${EP_IMG_NAME}:${PORTAL_TAG} ${PROXY_ARGS} + --build-arg FE_DIR=$BUILD_REL/public + --build-arg PORTAL_WAR=$BUILD_REL/ecompportal-be-os.war + --build-arg SDK_WAR=$BUILD_REL/epsdk-app-os.war + --build-arg DBC_WAR=$BUILD_REL/dmaap-bc-app-os.war + -f $PORTAL_DOCKERFILE . " -echo "Invoking portal docker build" $PORTAL_DOCKER_CMD -# Build widget-ms docker -cd $BASE/ecomp-portal-widget-ms -${MVN} package docker:build +echo "Bbuild widget-ms docker image" +WMS_DOCKER_CMD=" + docker build -t ${WMS_IMG_NAME}:${PORTAL_TAG} ${PROXY_ARGS} + --build-arg WMS_JAR=$BUILD_REL/widget-ms.jar + -f Dockerfile.widgetms . +" +$WMS_DOCKER_CMD + +# For ease of debugging, leave the build dir +# echo "Cleaning up" +# rm -fr $BUILD_REL diff --git a/deliveries/createMaria.sh b/deliveries/createMaria.sh deleted file mode 100755 index 84e6bb38..00000000 --- a/deliveries/createMaria.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -# Stop on errors; show output -set -e -x - -source $(dirname $0)/os_settings.sh - -echo ${SCRIPT_DIR} - -docker build -t ${DB_IMG_NAME} --build-arg SCRIPT_DIR="${SCRIPT_DIR}" --build-arg SDK_SCRIPT_DIR="${SDK_SCRIPT_DIR}" --build-arg DBC_SCRIPT_DIR="${DBC_SCRIPT_DIR}" --build-arg SCRIPT_COMMON_DIR="${SCRIPT_COMMON_DIR}" --build-arg SDK_COMMON_SCRIPT_DIR="${SDK_COMMON_SCRIPT_DIR}" --build-arg DBC_COMMON_SCRIPT_DIR="${DBC_COMMON_SCRIPT_DIR}" -f ./Dockerfile.mariadb . diff --git a/deliveries/dbstart.sh b/deliveries/dbstart.sh deleted file mode 100755 index c76cb391..00000000 --- a/deliveries/dbstart.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -# Establish environment variables -source $(dirname $0)/os_settings.sh - -#docker create --name ${DB_VOL_NAME} -v /var/lib/mysql mariadb; - -echo "Running docker image ${DB_IMG_NAME} as name ${DB_CONT_NAME} with volume ${DB_VOL_NAME}" -docker run -d --volumes-from ${DB_VOL_NAME} -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Aa123456 --net=host --name ${DB_CONT_NAME} ${DB_IMG_NAME}; diff --git a/deliveries/dbstop.sh b/deliveries/dbstop.sh deleted file mode 100755 index 9c5b73a7..00000000 --- a/deliveries/dbstop.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -# Establish environment variables -source $(dirname $0)/os_settings.sh - -echo "Stopping docker container named ${DB_CONT_NAME}" -docker stop ${DB_CONT_NAME} -echo "Removing docker container named ${DB_CONT_NAME}" -docker rm ${DB_CONT_NAME} diff --git a/deliveries/docker-compose.yml b/deliveries/docker-compose.yml new file mode 100644 index 00000000..1ea2bb67 --- /dev/null +++ b/deliveries/docker-compose.yml @@ -0,0 +1,83 @@ +# docker-compose for ONAP portal containers: database, microservice, portal apps. +# Only exposes the portal apps on host network, not the database or WMS. +# Works in multiple environments; does not pull from a Nexus repository. +# Relies on .env file in current directory. + +version: '2.0' + +services: + + # Config files may use hostname "portal-db" + portal-db: + image: ${DB_IMG_NAME}:${PORTAL_TAG} + environment: + MYSQL_ROOT_PASSWORD: 'Aa123456' + expose: + - 3306 + volumes: + # Just specify a path and let the Engine create a volume + - /var/lib/mysql + logging: + driver: json-file + + # An environment variable here CAN override the database URL; + # instead the value in the config file uses hostname from above + portal-wms: + image: ${WMS_IMG_NAME}:${PORTAL_TAG} + expose: + - 8082 + links: + - portal-db + depends_on: + - portal-db + volumes: + - ${PROJECT_DIR}/etc/ECOMPWIDGETMS/application.properties:/application.properties + command: + - /wait-for.sh + - -t + - "60" + - portal-db:3306 + - -- + - /start-wms-cmd.sh + logging: + driver: json-file + + # Environment variables here CANNOT override the database URL because + # two apps use identical configuration keys with different values + portal-apps: + image: ${EP_IMG_NAME}:${PORTAL_TAG} + expose: + - 8989 + ports: + - 8989:8080 + - 8010:8009 + - 8006:8005 + links: + - portal-db + - portal-wms + depends_on: + - portal-db + - portal-wms + volumes: + - ${PROJECT_DIR}/etc/ECOMPPORTALAPP/system.properties:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/conf/system.properties + - ${PROJECT_DIR}/etc/ECOMPPORTALAPP/fusion.properties:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/fusion/conf/fusion.properties + - ${PROJECT_DIR}/etc/ECOMPPORTALAPP/portal.properties:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/classes/portal.properties + - ${PROJECT_DIR}/etc/ECOMPPORTALAPP/openid-connect.properties:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/classes/openid-connect.properties + - ${PROJECT_DIR}/etc/ECOMPPORTALAPP/logback.xml:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/classes/logback.xml + - ${PROJECT_DIR}/etc/ECOMPSDKAPP/fusion.properties:${WEBAPPS_DIR}/ECOMPSDKAPP/WEB-INF/fusion/conf/fusion.properties + - ${PROJECT_DIR}/etc/ECOMPSDKAPP/system.properties:${WEBAPPS_DIR}/ECOMPSDKAPP/WEB-INF/conf/system.properties + - ${PROJECT_DIR}/etc/ECOMPSDKAPP/portal.properties:${WEBAPPS_DIR}/ECOMPSDKAPP/WEB-INF/classes/portal.properties + - ${PROJECT_DIR}/etc/ECOMPDBCAPP/system.properties:${WEBAPPS_DIR}/ECOMPDBCAPP/WEB-INF/conf/system.properties + - ${PROJECT_DIR}/etc/ECOMPDBCAPP/portal.properties:${WEBAPPS_DIR}/ECOMPDBCAPP/WEB-INF/classes/portal.properties + - ${PROJECT_DIR}/etc/ECOMPDBCAPP/dbcapp.properties:${WEBAPPS_DIR}/ECOMPDBCAPP/WEB-INF/dbcapp/dbcapp.properties + - ${PROJECT_DIR}/etc/ECOMPDBCAPP/fusion.properties:${WEBAPPS_DIR}/ECOMPDBCAPP/WEB-INF/fusion/conf/fusion.properties + - ${PROJECT_DIR}/portal-apps-logs:/opt/apache-tomcat-8.0.37/logs + command: + - /wait-for.sh + - -t + - "60" + - portal-db:3306 + - -- + - /start-apps-cmd.sh + logging: + driver: json-file diff --git a/deliveries/etc.zip b/deliveries/etc.zip Binary files differdeleted file mode 100644 index 67a65b27..00000000 --- a/deliveries/etc.zip +++ /dev/null diff --git a/deliveries/new_start.sh b/deliveries/new_start.sh deleted file mode 100755 index cffcda9b..00000000 --- a/deliveries/new_start.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# Establish environment variables -source $(dirname $0)/os_settings.sh - -BASEDIR=/PROJECT/OpenSource/UbuntuEP -PORTALDIR=/opt/apache-tomcat-8.0.37/webapps/ECOMPPORTAL -SDKAPPDIR=/opt/apache-tomcat-8.0.37/webapps/ECOMPSDKAPP -DBCAPPDIR=/opt/apache-tomcat-8.0.37/webapps/ECOMPDBCAPP -PORTALPROPDIR=ECOMPPORTALAPP -SDKAPPPROPDIR=ECOMPSDKAPP -DBCAPPPROPDIR=ECOMPDBCAPP -#docker rm ep_1610 -echo "Running docker image ${EP_IMG_NAME} as name ${EP_CONT_NAME}" -docker run -d --name ${EP_CONT_NAME} \ --p 8989:8080 -p 8010:8009 -p 8006:8005 \ --v ${BASEDIR}/etc/${PORTALPROPDIR}/system.properties:${PORTALDIR}/WEB-INF/conf/system.properties \ --v ${BASEDIR}/etc/${PORTALPROPDIR}/fusion.properties:${PORTALDIR}/WEB-INF/fusion/conf/fusion.properties \ --v ${BASEDIR}/etc/${PORTALPROPDIR}/portal.properties:${PORTALDIR}/WEB-INF/classes/portal.properties \ --v ${BASEDIR}/etc/${PORTALPROPDIR}/openid-connect.properties:${PORTALDIR}/WEB-INF/classes/openid-connect.properties \ --v ${BASEDIR}/etc/${SDKAPPPROPDIR}/fusion.properties:${SDKAPPDIR}/WEB-INF/fusion/conf/fusion.properties \ --v ${BASEDIR}/etc/${SDKAPPPROPDIR}/system.properties:${SDKAPPDIR}/WEB-INF/conf/system.properties \ --v ${BASEDIR}/etc/${SDKAPPPROPDIR}/portal.properties:${SDKAPPDIR}/WEB-INF/classes/portal.properties \ --v ${BASEDIR}/etc/${DBCAPPPROPDIR}/system.properties:${DBCAPPDIR}/WEB-INF/conf/system.properties \ --v ${BASEDIR}/etc/${DBCAPPPROPDIR}/portal.properties:${DBCAPPDIR}/WEB-INF/classes/portal.properties \ --v ${BASEDIR}/etc/${DBCAPPPROPDIR}/dbcapp.properties:${DBCAPPDIR}/WEB-INF/dbcapp/dbcapp.properties \ --v ${BASEDIR}/etc/${DBCAPPPROPDIR}/fusion.properties:${DBCAPPDIR}/WEB-INF/fusion/conf/fusion.properties \ --v ${BASEDIR}/log:/opt/apache-tomcat-8.0.37/logs \ -${EP_IMG_NAME} diff --git a/deliveries/new_stop.sh b/deliveries/new_stop.sh deleted file mode 100755 index 9193e285..00000000 --- a/deliveries/new_stop.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -# Establish environment variables -source $(dirname $0)/os_settings.sh - -echo "Stopping docker container named ${EP_CONT_NAME}" -docker stop ${EP_CONT_NAME} -echo "Removing docker container named ${EP_CONT_NAME}" -docker rm ${EP_CONT_NAME} diff --git a/deliveries/os_Dockerfile b/deliveries/os_Dockerfile deleted file mode 100644 index 130244da..00000000 --- a/deliveries/os_Dockerfile +++ /dev/null @@ -1,84 +0,0 @@ -# Pull base image. -#FROM ubuntu-openjdk-8-jdk - -FROM ubuntu:14.04 - -ARG HTTP_PROXY=${HTTP_PROXY} -ARG HTTPS_PROXY=${HTTPS_PROXY} - -ENV http_proxy $HTTP_PROXY -ENV https_proxy $HTTPS_PROXY - -RUN if [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \ - if [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi - -# Install the python script required for "add-apt-repository" -RUN apt-get update && apt-get install -y software-properties-common - -# Sets language to UTF8 : this works in pretty much all cases -ENV LANG en_US.UTF-8 -RUN locale-gen $LANG - -# Setup the openjdk 8 repo -RUN add-apt-repository ppa:openjdk-r/ppa - -# Install java8 -RUN apt-get update && apt-get install -y --force-yes openjdk-8-jdk - -# Setup JAVA_HOME, this is useful for docker commandline -ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/ -RUN export JAVA_HOME - -# Show java version (for debugging) -# RUN java -version - -RUN apt-get update -RUN apt-get install -y curl -# Install Tomcat -RUN cd /tmp && curl -O https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.37/bin/apache-tomcat-8.0.37.tar.gz -RUN tar -xzf /tmp/apache-tomcat-8.0.37.tar.gz -RUN mv apache-tomcat-8.0.37 /opt - -# Define working directory. -WORKDIR /opt/apache-tomcat-8.0.37/bin - -# Define commonly used ENV variables -ENV PATH $PATH:$JAVA_HOME/bin:/opt/apache-tomcat-8.0.37/bin - -VOLUME /opt/apache-tomcat-8.0.37/logs - -ARG VERSION=${VERSION:-1.1.0} -#LABEL Version=${VERSION} -ARG SDK_DIR=${SDK_DIR} -ARG FE_DIR=${FE_DIR} -ARG PORTAL_SDK_DIR=${PORTAL_SDK_DIR} -ARG PORTAL_DBC_DIR=${PORTAL_DBC_DIR} -# Set up variables: -ENV TOMCATHOME /opt/apache-tomcat-8.0.37 -ENV PORTALHOME /PROJECT/APPS/ECOMPPORTAL/ECOMPPORTALAPP -ENV PORTALSDKHOME /PROJECT/APPS/ECOMPPORTAL/ECOMPSDKAPP -ENV PORTALDBCHOME /PROJECT/APPS/ECOMPPORTAL/ECOMPDBCAPP -# Install Common Software,Git,Apache -RUN mkdir -p $PORTALHOME && mkdir -p $PORTALSDKHOME && mkdir -p $PORTALDBCHOME - -COPY ${SDK_DIR} ${PORTALHOME}/ -# step 33 -COPY ${PORTAL_SDK_DIR} ${PORTALSDKHOME}/ -COPY ${PORTAL_DBC_DIR} ${PORTALDBCHOME}/ - -RUN ln -s ${PORTALHOME} ${TOMCATHOME}/webapps/ECOMPPORTAL && ln -s ${PORTALSDKHOME} ${TOMCATHOME}/webapps/ECOMPSDKAPP && ln -s ${PORTALDBCHOME} ${TOMCATHOME}/webapps/ECOMPDBCAPP - - -# Define working directory. -WORKDIR ${TOMCATHOME}/bin -VOLUME ${TOMCATHOME}/logs -# Define commonly used ENV variables -ENV PATH $PATH:$JAVA_HOME/bin:${TOMCATHOME}/bin -COPY configure-and-run.sh /PROJECT/OpenSource/UbuntuEP/ - -#RUN cp -r ${FE_DIR}/dist/public ${PORTALHOME}/public - -COPY ${FE_DIR}/dist/public ${PORTALHOME}/public -# Define default command. -#CMD ["bash"] -CMD ["/PROJECT/OpenSource/UbuntuEP/configure-and-run.sh"] diff --git a/deliveries/os_build_febe.sh b/deliveries/os_build_febe.sh deleted file mode 100755 index d9a59bf1..00000000 --- a/deliveries/os_build_febe.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/bash -# Builds docker with three webapps: portal app, portal-sdk app, dbc app -# Stop on error; show output -set -e -x - -source $(dirname $0)/os_settings.sh - -# Work standalone and in Jenkins. -# Pick up Jenkins settings for this script. -# Use -B for batch operation to skip download progress output -if [ -n "$MVN" ]; then - export MVN="${MVN} -gs ${GLOBAL_SETTINGS_FILE} -s ${SETTINGS_FILE} -B" -else - MVN=mvn -fi - -CURRENTDIR="$(pwd)" - -# install ecomp portal -rm -rf $CURRENTDIR/$WORKINGDIR -mkdir $CURRENTDIR/$WORKINGDIR -cd $CURRENTDIR/$WORKINGDIR -SOURCEDIR=$CURRENTDIR/$WORKINGDIR/Source -mkdir $SOURCEDIR -cd $SOURCEDIR -PROJECTDIR=$SOURCEDIR/ecomp-portal-core -mkdir $PROJECTDIR - -#create project dir -#copy FE and BE -cd $CURRENTDIR -cd .. - -cp -r ecomp-portal-FE-common $PROJECTDIR/ecomp-portal-FE-common -cp -r ecomp-portal-FE-os $PROJECTDIR/ecomp-portal-FE-os -cp -r ecomp-portal-BE-common $PROJECTDIR/ecomp-portal-BE-common -cp -r ecomp-portal-BE-os $PROJECTDIR/ecomp-portal-BE-os -cp -r ecomp-portal-DB-common $PROJECTDIR/ecomp-portal-DB-common -cp -r ecomp-portal-DB-os $PROJECTDIR/ecomp-portal-DB-os -cp -r sdk/ecomp-sdk $PROJECTDIR/ecomp-sdk - -cd $PROJECTDIR/ecomp-portal-BE-common -${MVN} install - -cd $PROJECTDIR/ecomp-portal-BE-os -${MVN} install - -cd $PROJECTDIR/ecomp-portal-FE-os/ -${MVN} install - -cd $PROJECTDIR/ecomp-sdk/epsdk-app-os -${MVN} install - -# now install DBC app -cd $SOURCEDIR -DBCDIR=$SOURCEDIR/ST_DBPA -mkdir $DBCDIR -#copy DBC project -cd $CURRENTDIR -cd .. -cp -r dmaapbc/dcae_dmaapbc_webapp $DBCDIR/dcae_dmaapbc_webapp -cd $DBCDIR/dcae_dmaapbc_webapp -${MVN} install -cd dbca-os/target -mv dmaap-bc-app-os ep-dbc-app - -# Build complete database script in the "OS" script area -cd ../db-scripts -cat dbca-create-mysql-1707-os.sql ../../dbca-common/db-scripts/dbca-ddl-mysql-1707-common.sql dbca-dml-mysql-1707-os.sql > dbca-complete-mysql-1707-os.sql - -# install into docker -cd $CURRENTDIR - -PROXY_ARGS="" -if [ $HTTP_PROXY ]; then - PROXY_ARGS+="--build-arg HTTP_PROXY=${HTTP_PROXY}" -fi -if [ $HTTPS_PROXY ]; then - PROXY_ARGS+=" --build-arg HTTPS_PROXY=${HTTPS_PROXY}" -fi - -EXEC_CMD="docker build -t ${IMGNAME} ${PROXY_ARGS} --build-arg VERSION=${VERSION} --build-arg PORTAL_SDK_DIR=${PORTAL_SDK_DIR} --build-arg SDK_DIR=${SDK_DIR} --build-arg FE_DIR=${FE_DIR} --build-arg PORTAL_DBC_DIR=${PORTAL_DBC_DIR} -f ./os_Dockerfile ." -echo $EXEC_CMD -$EXEC_CMD diff --git a/deliveries/os_docker_base.sh b/deliveries/os_docker_base.sh new file mode 100755 index 00000000..2bdfea68 --- /dev/null +++ b/deliveries/os_docker_base.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# Builds and pushes versions of Portal images +# Invoked by scripts that set VERSION and LATEST + +# be verbose +set -x + +if [ -z "$VERSION" ]; then + echo "VERSION not set" + exit 1 +fi +if [ -z "$LATEST" ]; then + echo "LATEST not set" + exit 1 +fi + +# Establish environment variables +source $(dirname $0)/.env + +# Build the containers +./build_portalapps_dockers.sh + +APPS_VERSION="${NEXUS_REPO}/openecomp/${EP_IMG_NAME}:${VERSION}" +DB_VERSION="${NEXUS_REPO}/openecomp/${DB_IMG_NAME}:${VERSION}" +WMS_VERSION="${NEXUS_REPO}/openecomp/${WMS_IMG_NAME}:${VERSION}" + +APPS_LATEST="${NEXUS_REPO}/openecomp/${EP_IMG_NAME}:${LATEST}" +DB_LATEST="${NEXUS_REPO}/openecomp/${DB_IMG_NAME}:${LATEST}" +WMS_LATEST="${NEXUS_REPO}/openecomp/${WMS_IMG_NAME}:${LATEST}" + +# tag versions +docker tag ${EP_IMG_NAME}:${PORTAL_TAG} ${APPS_VERSION} +docker tag ${EP_IMG_NAME}:${PORTAL_TAG} ${APPS_LATEST} + +docker tag ${DB_IMG_NAME}:${PORTAL_TAG} ${DB_VERSION} +docker tag ${DB_IMG_NAME}:${PORTAL_TAG} ${DB_LATEST} + +docker tag ${WMS_IMG_NAME}:${PORTAL_TAG} ${WMS_VERSION} +docker tag ${WMS_IMG_NAME}:${PORTAL_TAG} ${WMS_LATEST} + +# push +docker push ${APPS_VERSION} +docker push ${APPS_LATEST} + +docker push ${DB_VERSION} +docker push ${DB_LATEST} + +docker push ${WMS_VERSION} +docker push ${WMS_LATEST} diff --git a/deliveries/os_docker_push.sh b/deliveries/os_docker_push.sh index 2ec6de42..eb663b83 100755 --- a/deliveries/os_docker_push.sh +++ b/deliveries/os_docker_push.sh @@ -1,40 +1,11 @@ #!/bin/bash +# Builds and pushes SNAPSHOT versions of Portal images -# Establish environment variables -source $(dirname $0)/os_settings.sh - -./run.sh - -REPO="nexus3.onap.org:10003" +# be verbose +set -x TIMESTAMP=$(date +%C%y%m%dT%H%M%S) -VERSION="1.1.0-SNAPSHOT-${TIMESTAMP}" -LATEST="latest" - -APPS_VERSION="${REPO}/openecomp/${EP_TAG_NAME}:${VERSION}" -DB_VERSION="${REPO}/openecomp/${DB_TAG_NAME}:${VERSION}" -WMS_VERSION="${REPO}/openecomp/${WMS_TAG_NAME}:${VERSION}" - -APPS_LATEST="${REPO}/openecomp/${EP_TAG_NAME}:${LATEST}" -DB_LATEST="${REPO}/openecomp/${DB_TAG_NAME}:${LATEST}" -WMS_LATEST="${REPO}/openecomp/${WMS_TAG_NAME}:${LATEST}" - -# tag versions -docker tag ${EP_IMG_NAME} ${APPS_VERSION} -docker tag ${EP_IMG_NAME} ${APPS_LATEST} - -docker tag ${DB_IMG_NAME} ${DB_VERSION} -docker tag ${DB_IMG_NAME} ${DB_LATEST} - -docker tag ${WMS_IMG_NAME} ${WMS_VERSION} -docker tag ${WMS_IMG_NAME} ${WMS_LATEST} - -# push -docker push ${APPS_VERSION} -docker push ${APPS_LATEST} - -docker push ${DB_VERSION} -docker push ${DB_LATEST} +export VERSION="1.1.0-SNAPSHOT-${TIMESTAMP}" +export LATEST="latest" -docker push ${WMS_VERSION} -docker push ${WMS_LATEST} +exec ./os_docker_base.sh diff --git a/deliveries/os_docker_release.sh b/deliveries/os_docker_release.sh index 2bd2e20d..42825534 100755 --- a/deliveries/os_docker_release.sh +++ b/deliveries/os_docker_release.sh @@ -1,40 +1,11 @@ #!/bin/bash +# Builds and pushes STAGING versions of Portal images -# Establish environment variables -source $(dirname $0)/os_settings.sh - -./run.sh - -REPO="nexus3.onap.org:10003" +# be verbose +set -x TIMESTAMP=$(date +%C%y%m%dT%H%M%S) -VERSION="1.1.0-STAGING-${TIMESTAMP}" -LATEST="1.1-STAGING-latest" - -APPS_VERSION="${REPO}/openecomp/${EP_TAG_NAME}:${VERSION}" -DB_VERSION="${REPO}/openecomp/${DB_TAG_NAME}:${VERSION}" -WMS_VERSION="${REPO}/openecomp/${WMS_TAG_NAME}:${VERSION}" - -APPS_LATEST="${REPO}/openecomp/${EP_TAG_NAME}:${LATEST}" -DB_LATEST="${REPO}/openecomp/${DB_TAG_NAME}:${LATEST}" -WMS_LATEST="${REPO}/openecomp/${WMS_TAG_NAME}:${LATEST}" - -# tag version -docker tag ${EP_IMG_NAME} ${APPS_VERSION} -docker tag ${EP_IMG_NAME} ${APPS_LATEST} - -docker tag ${DB_IMG_NAME} ${DB_VERSION} -docker tag ${DB_IMG_NAME} ${DB_LATEST} - -docker tag ${WMS_IMG_NAME} ${WMS_VERSION} -docker tag ${WMS_IMG_NAME} ${WMS_LATEST} - -# push -docker push ${APPS_VERSION} -docker push ${APPS_LATEST} - -docker push ${DB_VERSION} -docker push ${DB_LATEST} +export VERSION="1.1.0-STAGING-${TIMESTAMP}" +export LATEST="1.1-STAGING-latest" -docker push ${WMS_VERSION} -docker push ${WMS_LATEST} +exec ./os_docker_base.sh diff --git a/deliveries/os_settings.sh b/deliveries/os_settings.sh deleted file mode 100755 index 19a1e0ef..00000000 --- a/deliveries/os_settings.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -# Establish constants for the management shell scripts. -# These variables are ALSO used in demo/boot/portal_vm_init.sh - -EP_TAG_NAME=portalapps -EP_IMG_NAME=portalapps:latest -EP_CONT_NAME=onap_portal - -DB_TAG_NAME=portaldb -DB_IMG_NAME=portaldb:latest -DB_CONT_NAME=onap_portal_db -DB_VOL_NAME=data_vol_portal - -WMS_TAG_NAME=portalwms -WMS_IMG_NAME=widget-ms -WMS_CONT_NAME=onap_portal_widget_ms - -VERSION=1.1.0 -ETCDIR=etc -WORKINGDIR=PROJECT -SDK_DIR=PROJECT/Source/ecomp-portal-core/ecomp-portal-BE-os/target/ecompportal-be-os -FE_DIR=PROJECT/Source/ecomp-portal-core/ecomp-portal-FE-os -SCRIPT_COMMON_DIR="PROJECT/Source/ecomp-portal-core/ecomp-portal-DB-common/" -SCRIPT_DIR="PROJECT/Source/ecomp-portal-core/ecomp-portal-DB-os/" -SDK_COMMON_SCRIPT_DIR=PROJECT/Source/ecomp-portal-core/ecomp-sdk/epsdk-app-common/db-scripts -SDK_SCRIPT_DIR=PROJECT/Source/ecomp-portal-core/ecomp-sdk/epsdk-app-os/db-scripts -DBC_COMMON_SCRIPT_DIR=PROJECT/Source/ST_DBPA/dcae_dmaapbc_webapp/dbca-common/db-scripts -DBC_SCRIPT_DIR=PROJECT/Source/ST_DBPA/dcae_dmaapbc_webapp/dbca-os/db-scripts -PORTAL_SDK_DIR=PROJECT/Source/ecomp-portal-core/ecomp-sdk/epsdk-app-os/target/epsdk-app-os -PORTAL_DBC_DIR=PROJECT/Source/ST_DBPA/dcae_dmaapbc_webapp/dbca-os/target/ep-dbc-app diff --git a/deliveries/portal_vm_init.sh b/deliveries/portal_vm_init.sh index 5f34aae8..5f4716ec 100755 --- a/deliveries/portal_vm_init.sh +++ b/deliveries/portal_vm_init.sh @@ -1,71 +1,42 @@ #!/bin/bash # Starts docker containers for ONAP Portal +# This version for Amsterdam/R1 of Portal, uses docker-compose. +# Temporarily maintained in portal/deliveries area; +# replicated from the ONAP demo/boot area due to release concerns. # be verbose set -x -# Refresh source area with start scripts -cd /opt/portal -git pull -cd /opt - # Establish environment variables NEXUS_USERNAME=$(cat /opt/config/nexus_username.txt) NEXUS_PASSWD=$(cat /opt/config/nexus_password.txt) NEXUS_DOCKER_REPO=$(cat /opt/config/nexus_docker_repo.txt) DOCKER_IMAGE_VERSION=$(cat /opt/config/docker_version.txt) -# Get container, image and tag names used below -source portal/deliveries/os_settings.sh +# Refresh configuration and scripts +cd /opt/portal +git pull +cd deliveries + +# Get image names used below from docker-compose environment file +source .env -# Unpack property files -unzip -o portal/deliveries/etc.zip -d /PROJECT/OpenSource/UbuntuEP/ +# Copy property files +ETC=/PROJECT/OpenSource/UbuntuEP/etc +mkdir -p $ETC +cp -r properties_rackspace/* $ETC # Refresh images docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO -docker pull $NEXUS_DOCKER_REPO/openecomp/${DB_TAG_NAME}:$DOCKER_IMAGE_VERSION -docker pull $NEXUS_DOCKER_REPO/openecomp/${EP_TAG_NAME}:$DOCKER_IMAGE_VERSION -docker pull $NEXUS_DOCKER_REPO/openecomp/${WMS_TAG_NAME}:$DOCKER_IMAGE_VERSION - -# Remove lingering containers; order matters. -docker rm -f $DB_CONT_NAME -docker rm -f $DB_VOL_NAME -docker rm -f $EP_CONT_NAME -docker rm -f $WMS_CONT_NAME - -docker create --name $DB_VOL_NAME -v /var/lib/mysql mariadb -docker tag $NEXUS_DOCKER_REPO/openecomp/${DB_TAG_NAME}:$DOCKER_IMAGE_VERSION $DB_IMG_NAME -docker tag $NEXUS_DOCKER_REPO/openecomp/${EP_TAG_NAME}:$DOCKER_IMAGE_VERSION $EP_IMG_NAME -# WMS image has no version in the registry -docker tag $NEXUS_DOCKER_REPO/openecomp/${WMS_TAG_NAME}:$DOCKER_IMAGE_VERSION ${WMS_IMG_NAME}:latest - -# Recreate the named containers -cd portal/deliveries -echo "Starting database" -./dbstart.sh -echo "Delaying for database" -sleep 10 -echo "Starting apps" -./new_start.sh -echo "Starting widget-ms" -./widget_ms_start.sh - -sleep 180 - -if [ ! -e /opt/config/boot.txt ] -then - if [ -e /opt/config/public_ip.txt ] - then - IP_ADDRESS=$(cat /opt/config/public_ip.txt) - else - IP_ADDRESS=$(ifconfig eth0 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2) - fi - # Wait until MySQL is running... - while [[ $(netstat -vulntp |grep -i mysql | awk '{print $4}') != ":::3306" ]] - do - sleep 1 - done - # no longer necessary; done at docker build time - # mysql -u root -p'Aa123456' -h $IP_ADDRESS < /opt/portal/deliveries/Apps_Users_OnBoarding_Script.sql - echo "yes" > /opt/config/boot.txt -fi +docker pull $NEXUS_DOCKER_REPO/openecomp/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/openecomp/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/openecomp/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION + +# Tag them as expected by docker-compose file +docker tag $NEXUS_DOCKER_REPO/openecomp/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION $DB_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/openecomp/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION $EP_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/openecomp/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION $WMS_IMG_NAME:$PORTAL_TAG + +# compose is not in /usr/bin +/opt/docker/docker-compose down +/opt/docker/docker-compose up -d diff --git a/deliveries/properties_rackspace/ECOMPDBCAPP/dbcapp.properties b/deliveries/properties_rackspace/ECOMPDBCAPP/dbcapp.properties new file mode 100644 index 00000000..1c13384d --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPDBCAPP/dbcapp.properties @@ -0,0 +1,8 @@ +# Properties for the Data Bus Controller webapp +dmaap.rest.url.list = http://10.0.4.102:18080/webapi +# webapp's mechid is sent to DCAE for authorization +dmaap.mechid.name = m06672@dbcapp.dmaap.dcae.att.com +# encrypted with CipherUtil +dmaap.mechid.password = /F1vRhga1Ijw7yRFFj6R5A== +# Valid access methods are "dao" and "rest" +profile.access.method = dao diff --git a/deliveries/properties_rackspace/ECOMPDBCAPP/fusion.properties b/deliveries/properties_rackspace/ECOMPDBCAPP/fusion.properties new file mode 100644 index 00000000..4d4e17e9 --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPDBCAPP/fusion.properties @@ -0,0 +1,33 @@ +# login settings +login_method_backdoor = backdoor +login_method_attribute_name = login_method +login_method_csp = csp +login_method_web_junction = web_junction + +#login message +login.error.hrid.empty = Login failed, please contact system administrator. +login.error.hrid.not-found = User not found, please contact system administrator. +login.error.user.inactive = Account is disabled, please contact system administrator. + +authentication_mechanism = DBAUTH + +# User Session settings +user_attribute_name = user +roles_attribute_name = roles +role_functions_attribute_name = role_functions + +# POST settings +post_initial_context_factory = com.sun.jndi.ldap.LdapCtxFactory +post_provider_url = todo_ldap +post_security_principal = ou=people,o=org,c=us +post_max_result_size = 499 + +# menu settings +menu_query_name = menuData +application_menu_set_name = APP +application_menu_attribute_name = applicationMenuData +business_direct_menu_set_name = BD +business_direct_menu_attribute_name = businessDirectMenuData + +# Role settings +sys_admin_role_id = 1 diff --git a/deliveries/properties_rackspace/ECOMPDBCAPP/portal.properties b/deliveries/properties_rackspace/ECOMPDBCAPP/portal.properties new file mode 100644 index 00000000..6dbbee84 --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPDBCAPP/portal.properties @@ -0,0 +1,25 @@ +# Properties read by ECOMP Framework library, ecompFW.jar + +portal.api.impl.class = org.openecomp.portalapp.service.OnBoardingApiServiceImpl +portal.api.prefix = /api +max.idle.time = 5 +user.attribute.name = user_attribute + +# Legacy property TODO +ecomp_redirect_url = http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/login.htm + +# URL of the ECOMP Portal REST API +ecomp_rest_url = http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/auxapi + +#Use REST API instead of UEB to fetch the functional menu data +use_rest_for_functional_menu=true + +# Don't fetch functional menu via UEB in 1610. +ueb_listeners_enable = false + +# Application key is used by session management +ueb_app_key = MtRwsF16RdpHZ7eM + +# The inbox name property should not be required when the REST API is used, +# but in 1610 FuncMenuController logs ALARM if it cannot find this key. +ecomp_portal_inbox_name = ECOMP-PORTAL-INBOX-TEST diff --git a/deliveries/properties_rackspace/ECOMPDBCAPP/system.properties b/deliveries/properties_rackspace/ECOMPDBCAPP/system.properties new file mode 100644 index 00000000..019268b7 --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPDBCAPP/system.properties @@ -0,0 +1,63 @@ +#Local +app_display_name = DMaaP Bus Ctlr + +db.driver = com.mysql.jdbc.Driver +db.connectionURL = jdbc:mysql://portal-db:3306/dbca_os +db.userName = root +db.password = Aa123456 +db.encrypt_flag = false +db.hib.dialect = org.hibernate.dialect.MySQLDialect +db.min_pool_size = 5 +db.max_pool_size = 10 +hb.dialect = org.hibernate.dialect.MySQLDialect +hb.show_sql = false +hb.db_reconnect = true +hb.idle_connection_test_period = 3600 + +# Directory with the Quantum.lic file +files_path = /opt/app/tomcat/webapps/dmaap-bc-app/WEB-INF/dbcapp + +application_user_id = 30000 +post_default_role_id = 16 +clustered = true + +#Enable Fusion Mobile capabilities for the application +mobile_enable = false + +# Cache config file is needed on the classpath +cache_config_file_path = /WEB-INF/classes/cache.ccf +cache_switch = 199 +cache_load_on_startup = false + +user_name = fullName +decryption_key = AGLDdG4D04BKm2IxIWEr8o== + +#element map files +element_map_file_path = /tmp +element_map_icon_path = app/fusionapp/icons/ + +# Quartz is not used by the DBC application +# log_cron = +# mylogins_feed_cron = +# sessiontimeout_feed_cron = +# my_login_feed_output_dir = + +# ECOMP Portal Shared Context REST API URL is not used by the DBC application +# ecomp_shared_context_rest_url = + +contact_us_link = https://todo_contact_us_link + +# An Unique 128-bit value defined to identify a specific version +# of an application deployed on a specific virtual machine. +# This value must be generated and updated by the application +# which is using the ECOMP SDK at the time of its deployment. +# Online Unique UUID generator - https://www.uuidgenerator.net/ +# ID generated for DBC to supply to EELF +# A bogus value is cached in SCM: 12345678-.. +instance_uuid = 12345678-90ab-cdef-1234-567890abcdef + +# R Cloud feature +guard_notebook_url=https://todo_rcloud_link + +# Application base URL is a proper prefix of the on-boarded URL. +app_base_url = http://portal.api.simpledemo.openecomp.org:8989/ECOMPDBCAPP/ diff --git a/deliveries/properties_rackspace/ECOMPPORTALAPP/fusion.properties b/deliveries/properties_rackspace/ECOMPPORTALAPP/fusion.properties new file mode 100644 index 00000000..c92a5739 --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPPORTALAPP/fusion.properties @@ -0,0 +1,46 @@ +# domain settings +#domain_class_location = + +# validator settings +#default_error_message = Default error message + +login_url_no_ret_val = http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/login.htm + +user_attribute_name = user + +# User Session settings +roles_attribute_name = roles +role_functions_attribute_name = role_functions + +# menu settings +menu_query_name = menuData +application_menu_set_name = APP +application_menu_attribute_name = applicationMenuData +business_direct_menu_set_name = BD +business_direct_menu_attribute_name = businessDirectMenuData + +# ECOMP settings +ecomp_app_id = 1 +# Role settings +sys_admin_role_id = 1 +account_admin_role_id = 999 +restricted_app_role_id = 900 + +# Home Page index html +home_page = /index.html + +authentication_mechanism =DBAUTH + +login.error.hrid.empty = Login failed, please contact system administrator. +login.error.hrid.not-found = User not found, please contact system administrator. +login.error.user.inactive = Account is disabled, please contact system administrator. + +# +# Number of seconds to poll health (database operational, etc.) +# +health_poll_interval_seconds = 5 +# +# If a component is down a log entry will be written that triggers an alert. This parameter specifies how often this alert should be triggered +# if the component remains down. For example a value of 30, would translate to 30 * 60 seconds = 1800 seconds, or every 30 minutes +# +health_fail_alert_every_x_intervals = 30 diff --git a/deliveries/properties_rackspace/ECOMPPORTALAPP/logback.xml b/deliveries/properties_rackspace/ECOMPPORTALAPP/logback.xml new file mode 100644 index 00000000..0c0d7647 --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPPORTALAPP/logback.xml @@ -0,0 +1,285 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ================================================================================ + eCOMP Portal + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ================================================================================ + --> + +<!DOCTYPE xml> +<configuration scan="true" scanPeriod="3 seconds" debug="true"> + <!-- Log-back files for the ECOMP Portal "ecompportal" are created in directory + ${catalina.base}/logs/ecompportal; e.g., apache-tomcat-8.0.35/logs/ecompportal/application.log --> + <!--<jmxConfigurator /> --> + + <!-- specify the component name --> + <property name="componentName" value="ecompportal"></property> + + <!-- specify the base path of the log directory --> + <property name="logDirPrefix" value="${catalina.base}/logs"></property> + + <!-- The directories where logs are written --> + <property name="logDirectory" value="${logDirPrefix}/${componentName}" /> + <!-- Can easily relocate debug logs by modifying this path. --> + <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}" /> + + <!-- log file names --> + <property name="generalLogName" value="application" /> + <property name="errorLogName" value="error" /> + <property name="metricsLogName" value="metrics" /> + <property name="auditLogName" value="audit" /> + <property name="debugLogName" value="debug" /> + <!-- These loggers are not used in code (yet). <property name="securityLogName" + value="security" /> <property name="policyLogName" value="policy" /> <property + name="performanceLogName" value="performance" /> <property name="serverLogName" + value="server" /> --> + + <!-- ServerFQDN=Server, --> + <property name="auditLoggerPattern" + value="%X{AuditLogBeginTimestamp}|%X{AuditLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n" /> + + <property name="metricsLoggerPattern" + value="%X{MetricsLogBeginTimestamp}|%X{MetricsLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVisualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n" /> + + <property name="errorLoggerPattern" + value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ClassName}|%X{AlertSeverity}|%X{ErrorCode}|%X{ErrorDescription}| %msg%n" /> + + <property name="defaultLoggerPattern" + value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ClassName}| %msg%n" /> + + <!-- use %class so library logging calls yield their class name --> + <property name="applicationLoggerPattern" + value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%class{36}| %msg%n" /> + + <!-- + <property name="defaultPattern" + value="%date{ISO8601}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}| %msg%n" /> + <property name="debugLoggerPattern" + value="%date{ISO8601}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}| %msg%n" /> + --> + <!-- <property name="debugLoggerPattern" value="%date{ISO8601}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|[%caller{3}]|%msg%n" + /> --> + <!-- Example evaluator filter applied against console appender --> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>${applicationLoggerPattern}</pattern> + </encoder> + </appender> + + <!-- ============================================================================ --> + <!-- EELF Appenders --> + <!-- ============================================================================ --> + + <!-- The EELFAppender is used to record events to the general application + log --> + + + <appender name="EELF" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${generalLogName}.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- daily rollover --> + <fileNamePattern>${logDirectory}/${generalLogName}.log.%d{yyyy-MM-dd}.zip + </fileNamePattern> + <maxHistory>30</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${applicationLoggerPattern}</pattern> + </encoder> + <filter class="org.openecomp.portalapp.portal.utils.CustomLoggingFilter" /> + </appender> + + <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <!-- Class name is part of caller data --> + <includeCallerData>true</includeCallerData> + <appender-ref ref="EELF" /> + </appender> + + <!-- EELF Security Appender. This appender is used to record security events + to the security log file. Security events are separate from other loggers + in EELF so that security log records can be captured and managed in a secure + way separate from the other logs. This appender is set to never discard any + events. --> + <!-- <appender name="EELFSecurity" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${securityLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip </fileNamePattern> + <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> + </appender> <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> <discardingThreshold>0</discardingThreshold> <appender-ref + ref="EELFSecurity" /> </appender> --> + + <!-- EELF Performance Appender. This appender is used to record performance + records. --> + <!-- <appender name="EELFPerformance" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${performanceLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip </fileNamePattern> + <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> <encoder> <outputPatternAsHeader>true</outputPatternAsHeader> + <pattern>${defaultPattern}</pattern> </encoder> </appender> <appender name="asyncEELFPerformance" + class="ch.qos.logback.classic.AsyncAppender"> <queueSize>256</queueSize> + <appender-ref ref="EELFPerformance" /> </appender> --> + + <!-- EELF Server Appender. This appender is used to record Server related + logging events. The Server logger and appender are specializations of the + EELF application root logger and appender. This can be used to segregate + Server events from other components, or it can be eliminated to record these + events as part of the application root log. --> + <!-- <appender name="EELFServer" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${serverLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip </fileNamePattern> + <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> + </appender> <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> <appender-ref ref="EELFServer" /> </appender> --> + + <!-- EELF Policy Appender. This appender is used to record Policy engine + related logging events. The Policy logger and appender are specializations + of the EELF application root logger and appender. This can be used to segregate + Policy engine events from other components, or it can be eliminated to record + these events as part of the application root log. --> + <!-- <appender name="EELFPolicy" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${policyLogName}.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip </fileNamePattern> + <minIndex>1</minIndex> <maxIndex>9</maxIndex> </rollingPolicy> <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> <encoder> <pattern>${defaultPattern}</pattern> </encoder> + </appender> <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> <appender-ref ref="EELFPolicy" /> </appender> --> + + <!-- EELF Audit Appender. This appender is used to record audit engine related + logging events. The audit logger and appender are specializations of the + EELF application root logger and appender. This can be used to segregate + Policy engine events from other components, or it can be eliminated to record + these events as part of the application root log. --> + + <appender name="EELFAudit" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${auditLogName}.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- daily roll over --> + <fileNamePattern>${logDirectory}/${auditLogName}.log.%d{yyyy-MM-dd}.zip + </fileNamePattern> + <maxHistory>30</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${auditLoggerPattern}</pattern> + </encoder> + </appender> + <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFAudit" /> + </appender> + + <appender name="EELFMetrics" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${metricsLogName}.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- daily roll over --> + <fileNamePattern>${logDirectory}/${metricsLogName}.log.%d{yyyy-MM-dd}.zip + </fileNamePattern> + <maxHistory>30</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${metricsLoggerPattern}</pattern> + </encoder> + </appender> + + + <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFMetrics" /> + </appender> + + <appender name="EELFError" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${errorLogName}.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- daily roll over --> + <fileNamePattern>${logDirectory}/${errorLogName}.log.%d{yyyy-MM-dd}.zip + </fileNamePattern> + <maxHistory>30</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${errorLoggerPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFError" /> + </appender> + + <appender name="EELFDebug" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${debugLogDirectory}/${debugLogName}.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <!-- daily roll over --> + <fileNamePattern>${logDirectory}/${debugLogName}.log.%d{yyyy-MM-dd}.zip + </fileNamePattern> + <maxHistory>30</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${defaultLoggerPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFDebug" /> + <includeCallerData>true</includeCallerData> + </appender> + + + <!-- ============================================================================ --> + <!-- EELF loggers --> + <!-- ============================================================================ --> + <logger name="com.att.eelf" level="info" additivity="false"> + <appender-ref ref="asyncEELF" /> + </logger> + + <!-- <logger name="com.att.eelf.security" level="info" additivity="false"> + <appender-ref ref="asyncEELFSecurity" /> </logger> <logger name="com.att.eelf.perf" + level="info" additivity="false"> <appender-ref ref="asyncEELFPerformance" + /> </logger> <logger name="com.att.eelf.server" level="info" additivity="false"> + <appender-ref ref="asyncEELFServer" /> </logger> <logger name="com.att.eelf.policy" + level="info" additivity="false"> <appender-ref ref="asyncEELFPolicy" /> </logger> --> + + <logger name="com.att.eelf.audit" level="info" additivity="false"> + <appender-ref ref="asyncEELFAudit" /> + </logger> + + <logger name="com.att.eelf.metrics" level="info" additivity="false"> + <appender-ref ref="asyncEELFMetrics" /> + </logger> + + <logger name="com.att.eelf.error" level="info" additivity="false"> + <appender-ref ref="asyncEELFError" /> + </logger> + + <logger name="com.att.eelf.debug" level="debug" additivity="false"> + <appender-ref ref="asyncEELFDebug" /> + </logger> + + <root level="INFO"> + <appender-ref ref="asyncEELF" /> + </root> + +</configuration> diff --git a/deliveries/properties_rackspace/ECOMPPORTALAPP/openid-connect.properties b/deliveries/properties_rackspace/ECOMPPORTALAPP/openid-connect.properties new file mode 100644 index 00000000..33c919b2 --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPPORTALAPP/openid-connect.properties @@ -0,0 +1,3 @@ +authentication_server_url = http://portal.api.simpledemo.openecomp.org:8383/openid-connect-server-webapp/ +ecomp_openid_connect_client = http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/openid_connect_login +ecomp_redirect_uri = http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/welcome.htm diff --git a/deliveries/properties_rackspace/ECOMPPORTALAPP/portal.properties b/deliveries/properties_rackspace/ECOMPPORTALAPP/portal.properties new file mode 100644 index 00000000..f7fba31a --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPPORTALAPP/portal.properties @@ -0,0 +1,23 @@ +portal.api.impl.class = org.openecomp.portalsdk.core.onboarding.client.OnBoardingApiServiceImpl +portal.api.prefix = /api +max.idle.time = 5 +user.attribute.name = user_attribute + +# for single sign on +ecomp_redirect_url = http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/login.htm + +# URL of the ECOMP Portal REST API +ecomp_rest_url = http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/auxapi + +ueb_listeners_enable = true + +ueb_app_key = 7GkVcrO6sIDb3ngW +ueb_app_secret = uCYgKjWKK5IxPGNNZzYSSWo9 +ueb_app_mailbox_name = ECOMP-PORTAL-INBOX + +ueb_url_list = ueb.api.simpledemo.openecomp.org +ecomp_portal_inbox_name = ECOMP-PORTAL-INBOX + +# Consumer group name for UEB topic. +# Use the special tag to generate a unique one for each sdk-app server. +ueb_app_consumer_group_name = {UUID} diff --git a/deliveries/properties_rackspace/ECOMPPORTALAPP/system.properties b/deliveries/properties_rackspace/ECOMPPORTALAPP/system.properties new file mode 100644 index 00000000..10842953 --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPPORTALAPP/system.properties @@ -0,0 +1,97 @@ +#mysql +db.driver = com.mysql.jdbc.Driver +db.connectionURL = jdbc:mysql://portal-db:3306/portal +db.userName =root +db.password =Aa123456 +db.hib.dialect = org.hibernate.dialect.MySQLDialect +db.min_pool_size = 5 +db.max_pool_size = 10 +hb.dialect = org.hibernate.dialect.MySQLDialect +hb.show_sql = false +hb.db_reconnect = true +hb.idle_connection_test_period = 3600 + +app_display_name = Portal +files_path = /tmp +context_root = ECOMPPORTAL +# menu settings +menu_query_name = menuData +menu_properties_file_location = /WEB-INF/fusion/menu/ +application_menu_set_name = APP +application_menu_attribute_name = applicationMenuData +application_menu_properties_name = menu.properties +business_direct_menu_set_name = BD +business_direct_menu_properties_name = bd.menu.properties +business_direct_menu_attribute_name = businessDirectMenuData + +application_user_id = 30000 +post_default_role_id = 1 + +#Enable Fusion Mobile capabilities for the application +mobile_enable = false + +cache_config_file_path = /WEB-INF/conf/cache.ccf +cache_switch = 1 +cache_load_on_startup = false + +user_name = fullName +decryption_key = AGLDdG4D04BKm2IxIWEr8o== + + +#Cron Schedules +cron_site_name = one +log_cron = 0 * * * * ? * +sessiontimeout_feed_cron = 0 0/5 * * * ? * + +#Front end URL +frontend_url = http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/applicationsHome + +#cookie domain +cookie_domain = openecomp.org + +# An Unqiue 128-bit value defined to indentify a specific version of +# ECOMP Portal deployed on a specific virtual machine. +# This value must be generated and updated at the time of +# the deployment. +# Online Unique UUID generator - https://www.uuidgenerator.net/ +instance_uuid = 90bc9497-10e6-49fe-916b-dcdfaa972383 + +elastic_search_url = http:// +contact_us_link = http:// +user_guide_link = http:// + +# Contact Us page properties +ush_ticket_url = http:// +feedback_email_address = portal@lists.openecomp.org +portal_info_url = https:// + +#Online user bar refresh interval, in seconds +online_user_update_rate = 30 + +#Online user bar refresh total duration, in seconds +online_user_update_duration = 300 + +#authenticate user server +authenticate_user_server=http://portal.api.simpledemo.openecomp.org:8383/openid-connect-server-webapp/allUsers + +#window width threshold to collapse left/right menu when page onload +window_width_threshold_left_menu = 1400 +window_width_threshold_right_menu = 1350 + +# User notification refresh interval and duration, in seconds +notification_update_rate = 90 +notification_update_duration = 900 + +#Microservices Related Properties for Portal +microservices.widget.protocol = http +microservices.widget.hostname = portal-wms +microservices.widget.username = widget_user +microservices.widget.password = KpuqIB08YHg+btG+pjX+sA== +#This property won't be needed after consul is functional on VMs - +microservices.widget.local.port = 8082 +microservices.m-learn.local.port = 8083 +#HALO API enable flag +external_access_enable = false + +#delete auditlog from number of days ago +auditlog_del_day_from = 365 diff --git a/deliveries/properties_rackspace/ECOMPSDKAPP/fusion.properties b/deliveries/properties_rackspace/ECOMPSDKAPP/fusion.properties new file mode 100644 index 00000000..8ce8cc95 --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPSDKAPP/fusion.properties @@ -0,0 +1,35 @@ +# login settings +login_method_backdoor = backdoor +login_method_attribute_name = login_method + +# These properties will be removed after SingleSignOnController is cleaned +authentication_mechanism = BOTH +login_method_csp = csp +login_method_web_junction = web_junction + +#login message +login.error.hrid.empty = Login failed, please contact system administrator. +login.error.hrid.not-found = User not found, please contact system administrator. +login.error.user.inactive = Account is disabled, please contact system administrator. + +# User Session settings +user_attribute_name = user +roles_attribute_name = roles +role_function_list = role_function_list +role_functions_attribute_name = role_functions + +# Import-user LDAP settings +post_initial_context_factory = com.sun.jndi.ldap.LdapCtxFactory +post_provider_url = ldap://ldap.mycompany.com:389 +post_security_principal = ou=people,o=mycompany,c=us +post_max_result_size = 499 + +# menu settings +menu_query_name = menuData +application_menu_set_name = APP +application_menu_attribute_name = applicationMenuData +business_direct_menu_set_name = BD +business_direct_menu_attribute_name = businessDirectMenuData + +# Role settings +sys_admin_role_id = 1 diff --git a/deliveries/properties_rackspace/ECOMPSDKAPP/portal.properties b/deliveries/properties_rackspace/ECOMPSDKAPP/portal.properties new file mode 100644 index 00000000..b569e4fc --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPSDKAPP/portal.properties @@ -0,0 +1,44 @@ +# Properties read by ECOMP Framework library, ecompFW.jar + +########################################################################## +# The following properties should NOT be changed by partner applications. +########################################################################## + +portal.api.prefix = /api +max.idle.time = 5 +user.attribute.name = user_attribute + +#Use REST API instead of UEB to fetch the functional menu data +use_rest_for_functional_menu=true + +########################################################################## +# The following properties MUST be changed by partner applications. +########################################################################## + +# Name of java class that implements the OnBoardingApiService interface. +portal.api.impl.class = org.openecomp.portalapp.service.OnBoardingApiServiceImpl + +# CSP Global Log On for single sign on +ecomp_redirect_url = http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/login.htm + +# URL of the ECOMP Portal REST API + +ecomp_rest_url = http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/auxapi + +# Applications do not need to run a UEB listener in 1610. +ueb_listeners_enable = false + +# UEB Configuration +ueb_url_list = ueb.api.simpledemo.openecomp.org +# ECOMP Portal listens on this UEB topic +ecomp_portal_inbox_name = ECOMP-PORTAL-INBOX +# Replace these 3 default values with the ones for your specific App, +# as shown on the on-boarding page on the ECOMP Portal web application. +ueb_app_key = jQd4a9zVNi4ePyBp +ueb_app_secret = P0HpqEBhKJvxjRYdw2sCTUll +ueb_app_mailbox_name = ECOMP-PORTAL-OUTBOX-APP1 +# Consumer group name for UEB topic. +# Use the special tag '{UUID}' to generate a unique one for each sdk-app server. +ueb_app_consumer_group_name = {UUID} + +decryption_key = AGLDdG4D04BKm2IxIWEr8o== diff --git a/deliveries/properties_rackspace/ECOMPSDKAPP/system.properties b/deliveries/properties_rackspace/ECOMPSDKAPP/system.properties new file mode 100644 index 00000000..105502f1 --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPSDKAPP/system.properties @@ -0,0 +1,65 @@ +# Properties read by ECOMP Core library, ecompSDK-core.jar + +########################################################################## +# The following properties should NOT be changed by partner applications. +########################################################################## + +application_user_id = 30000 +post_default_role_id = 16 +clustered = true + +#Enable Fusion Mobile capabilities for the application +mobile_enable = false + +# Cache config file is needed on the classpath +cache_config_file_path = /WEB-INF/classes/cache.ccf +cache_switch = 199 +cache_load_on_startup = false + +user_name = fullName +decryption_key = AGLDdG4D04BKm2IxIWEr8o== + +########################################################################## +# The following properties MAY require changes by partner applications. +########################################################################## + +#Mysql +db.driver = com.mysql.jdbc.Driver +db.connectionURL = jdbc:mysql://portal-db:3306/ecomp_sdk +db.userName = root +db.password = Aa123456 +db.min_pool_size = 5 +db.max_pool_size = 10 +hb.dialect = org.hibernate.dialect.MySQLDialect +# SQL statements are logged to stdout +hb.show_sql = true +hb.idle_connection_test_period = 3600 + +app_display_name = Demo App +files_path = /tmp + +#element map files +element_map_file_path = /tmp +element_map_icon_path = app/fusionapp/icons/ + +#Cron Schedules +log_cron = 0 0/1 * * * ?; +mylogins_feed_cron = 0 0/60 * * * ?; +#sessiontimeout_feed_cron = 0 * * * * ? * +my_login_feed_output_dir = /tmp/MyLogins + +# Link shown in Help menu +contact_us_link = https://todo_contact_us_link.com + +# An Unique 128-bit value defined to identify a specific version +# of an application deployed on a specific virtual machine. +# This value must be generated and updated by the application +# which is using the ECOMP SDK at the time of its deployment. +# Online Unique UUID generator - https://www.uuidgenerator.net/ +instance_uuid=8da691c9-987d-43ed-a358-00ac2f35685d + +# R Cloud feature - configure this property to enable notebook feature - for more details on RCloud please visit https://rcloud.social/index.html +guard_notebook_url= + +#authenticate user server +authenticate_user_server=http://portal.openecomp.org:8383/openid-connect-server-webapp/allUsers diff --git a/deliveries/properties_rackspace/ECOMPWIDGETMS/application.properties b/deliveries/properties_rackspace/ECOMPWIDGETMS/application.properties new file mode 100644 index 00000000..7c95923f --- /dev/null +++ b/deliveries/properties_rackspace/ECOMPWIDGETMS/application.properties @@ -0,0 +1,35 @@ +## General App Properties +server.contextPath=/widget +server.port=8082 +spring.http.multipart.max-file-size=128MB +spring.http.multipart.max-request-size=128MB +microservice.widget.location=/tmp + +## App DB Properties +spring.datasource.url=jdbc:mysql://portal-db:3306/portal +spring.datasource.username=root +spring.datasource.password=Aa123456 +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect +spring.database.driver.classname=org.mariadb.jdbc.Driver +spring.jpa.show-sql=false +spring.jpa.properties.hibernate.format_sql=false + +## Basic Authentication Properties +security.user.name=widget_user +security.user.password=ENC(IjywcRnI9+nuVEh9+OFFiRWAjBT1n718) + +initialization.default.widgets=true +initialization.widgetData.url=http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/commonWidgets + +## Account Basic Authentication Properties +account.user.name=portal +account.user.password=6APqvG4AU2rfLgCvMdySwQ== + +## Certificate Properties +#server.ssl.key-store=classpath:widget-keystore.p12 +#server.ssl.key-store-password=ENC(DiIYnAMab4u7rEW2yKhF9zBL00uU55q8) +#server.ssl.keyStoreType=PKCS12 +#server.ssl.keyAlias=widget-microservice + +## Jasypt Properties +jasypt.encryptor.password=EncryptionKey diff --git a/deliveries/run.sh b/deliveries/run.sh deleted file mode 100755 index bd2a5dd1..00000000 --- a/deliveries/run.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# Stop on errors; show output -set -e -x -# 1610 builder -# ./os_build_febe.sh -# 1707 builder -./build_portalapps_dockers.sh -./createMaria.sh -docker images diff --git a/deliveries/configure-and-run.sh b/deliveries/start-apps-cmd.sh index 5c2b2f46..bbe2a7cb 100755 --- a/deliveries/configure-and-run.sh +++ b/deliveries/start-apps-cmd.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh LOGFILE=/opt/apache-tomcat-8.0.37/logs/catalina.out echo "`date`:<-------------------- Starting -------------------->" >> $LOGFILE diff --git a/deliveries/start-wms-cmd.sh b/deliveries/start-wms-cmd.sh new file mode 100755 index 00000000..dc8336e7 --- /dev/null +++ b/deliveries/start-wms-cmd.sh @@ -0,0 +1,2 @@ +#!/bin/sh +java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar diff --git a/deliveries/wait-for.sh b/deliveries/wait-for.sh new file mode 100755 index 00000000..be9a443f --- /dev/null +++ b/deliveries/wait-for.sh @@ -0,0 +1,82 @@ +#!/bin/sh +# https://github.com/Eficode/wait-for.git +# MIT License + +TIMEOUT=15 +QUIET=0 + +echoerr() { + if [ "$QUIET" -ne 1 ]; then printf "%s\n" "$*" 1>&2; fi +} + +usage() { + exitcode="$1" + cat << USAGE >&2 +Usage: + $cmdname host:port [-t timeout] [-- command args] + -q | --quiet Do not output any status messages + -t TIMEOUT | --timeout=timeout Timeout in seconds, zero for no timeout + -- COMMAND ARGS Execute command with args after the test finishes +USAGE + exit "$exitcode" +} + +wait_for() { + command="$*" + for i in `seq $TIMEOUT` ; do + nc -z "$HOST" "$PORT" > /dev/null 2>&1 + result=$? + if [ $result -eq 0 ] ; then + if [ "$QUIET" -ne 1 ]; then echo "Operation succeeded on try $i"; fi + if [ -n "$command" ] ; then + exec $command + fi + exit 0 + fi + sleep 1 + done + echo "Operation timed out" >&2 + exit 1 +} + +while [ $# -gt 0 ] +do + case "$1" in + *:* ) + HOST=$(printf "%s\n" "$1"| cut -d : -f 1) + PORT=$(printf "%s\n" "$1"| cut -d : -f 2) + shift 1 + ;; + -q | --quiet) + QUIET=1 + shift 1 + ;; + -t) + TIMEOUT="$2" + if [ "$TIMEOUT" = "" ]; then break; fi + shift 2 + ;; + --timeout=*) + TIMEOUT="${1#*=}" + shift 1 + ;; + --) + shift + break + ;; + --help) + usage 0 + ;; + *) + echoerr "Unknown argument: $1" + usage 1 + ;; + esac +done + +if [ "$HOST" = "" -o "$PORT" = "" ]; then + echoerr "Error: you need to provide a host and port to test." + usage 2 +fi + +wait_for "$@" diff --git a/deliveries/widget_ms_start.sh b/deliveries/widget_ms_start.sh deleted file mode 100755 index b5fbdc25..00000000 --- a/deliveries/widget_ms_start.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# Establish environment variables -source $(dirname $0)/os_settings.sh - -BASEDIR=/PROJECT/OpenSource/UbuntuEP -WIDGETMSAPPPROPDIR=ECOMPWIDGETMS - -echo "Running docker image ${WMS_IMG_NAME} as container ${WMS_CONT_NAME}" -docker run -d --name ${WMS_CONT_NAME} -p 8082:8082 -v ${BASEDIR}/etc/${WIDGETMSAPPPROPDIR}/application.properties:/application.properties ${WMS_IMG_NAME} diff --git a/deliveries/widget_ms_stop.sh b/deliveries/widget_ms_stop.sh deleted file mode 100755 index dd5c9645..00000000 --- a/deliveries/widget_ms_stop.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -# Establish environment variables -source $(dirname $0)/os_settings.sh - -echo "Stopping docker container ${WMS_CONT_NAME}" -docker stop ${WMS_CONT_NAME} -echo "Removing docker image ${WMS_CONT_NAME}" -docker rm ${WMS_CONT_NAME} |