From a9627f8c54b7e9d5712320621e8a0b748ad9baf4 Mon Sep 17 00:00:00 2001 From: "Christopher Lott (cl778h)" Date: Wed, 26 Jul 2017 11:49:07 -0400 Subject: Repair Portal defects; upgrade Docker build. PORTAL-39 Remove MojoHaus Maven plug-in from pom file PORTAL-38 VID tab is not showing portal for VID PORTAL-37 Portal cannot resolve UEB host vm1-message-router; use ueb.api.simpledemo.openecomp.org instead PORTAL-36 Show Portal app version number in footer; unpack war file instead of copying directory PORTAL-35 update ECOMP Portal to ONAP logo on login page PORTAL-34 Portal partners (Policy, VID) got 404 on landing page; recognize process_csp as valid endpoint in Portal PORTAL-30 Failed to communicate with the widget microservice; add configuration properties with widget-ms host name and protocol. Issue: PORTAL-30, PORTAL-34, PORTAL-35, PORTAL-36, PORTAL-37, PORTAL-38, PORTAL-39 Change-Id: I1e53e4985266f736ddad4ed49b287a23178ea3c3 Signed-off-by: Christopher Lott (cl778h) --- deliveries/Dockerfile.mariadb | 28 ++++---- deliveries/Dockerfile.portalapps | 54 +++++++++++++++ deliveries/build_portalapps_dockers.sh | 116 +++++++++++++++++++++++++++++++++ deliveries/dbstop.sh | 0 deliveries/etc.zip | Bin 9872 -> 11434 bytes deliveries/new_start.sh | 13 +++- deliveries/new_stop.sh | 11 +++- deliveries/os_settings.sh | 6 +- deliveries/run.sh | 6 +- 9 files changed, 215 insertions(+), 19 deletions(-) create mode 100644 deliveries/Dockerfile.portalapps create mode 100755 deliveries/build_portalapps_dockers.sh mode change 100644 => 100755 deliveries/dbstop.sh (limited to 'deliveries') diff --git a/deliveries/Dockerfile.mariadb b/deliveries/Dockerfile.mariadb index 871637f5..004e7af8 100644 --- a/deliveries/Dockerfile.mariadb +++ b/deliveries/Dockerfile.mariadb @@ -9,20 +9,26 @@ 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 #ADD cluster.cnf /etc/mysql/conf.d -#Add DDL and DML SQL files -ADD ${SCRIPT_COMMON_DIR}/EcompPortalDDLMySql_1707_Common.sql docker-entrypoint-initdb.d/EcompPortalDDLMySql_1707_Common.sql -ADD ${SCRIPT_DIR}/EcompPortalDDLMySql_1707_OS.sql docker-entrypoint-initdb.d/EcompPortalDDLMySql_1707_OS.sql -ADD ${SCRIPT_COMMON_DIR}/EcompPortalDMLMySql_1707_Common.sql docker-entrypoint-initdb.d/EcompPortalDMLMySql_1707_Common.sql -ADD ${SCRIPT_DIR}/EcompPortalDMLMySql_1707_OS.sql docker-entrypoint-initdb.d/EcompPortalDMLMySql_1707_OS.sql +# 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 -ADD ${SDK_COMMON_SCRIPT_DIR}/EcompSdkDDLMySql_1707_Common.sql docker-entrypoint-initdb.d/EcompSdkDDLMySql_1707_Common.sql -ADD ${SDK_SCRIPT_DIR}/EcompSdkDDLMySql_1707_OS.sql docker-entrypoint-initdb.d/EcompSdkDDLMySql_1707_OS.sql -ADD ${SDK_COMMON_SCRIPT_DIR}/EcompSdkDMLMySql_1707_Common.sql docker-entrypoint-initdb.d/EcompSdkDMLMySql_1707_Common.sql -ADD ${SDK_SCRIPT_DIR}/EcompSdkDMLMySql_1707_OS.sql docker-entrypoint-initdb.d/EcompSdkDMLMySql_1707_OS.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 -# This file was built by os_build_febe.sh -ADD ${DBC_SCRIPT_DIR}/dbca-complete-mysql-1707-os.sql docker-entrypoint-initdb.d/dbca-complete-mysql-1707-os.sql +# 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 diff --git a/deliveries/Dockerfile.portalapps b/deliveries/Dockerfile.portalapps new file mode 100644 index 00000000..3e295e8f --- /dev/null +++ b/deliveries/Dockerfile.portalapps @@ -0,0 +1,54 @@ +# Dockerfile for image with ONAP applications: +# Portal app, Portal-SDK app, Portal-DBC app. + +FROM openjdk:8-jdk + +# Arguments are supplied by build.sh script +# the defaults below only support testing +ARG PORTAL_WAR=build/ecompportal-be-os.war +ARG FE_DIR=build/public +ARG SDK_WAR=build/epsdk-app-os.war +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 + +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 +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 +# Remove manager and sample apps +RUN rm -fr apache-tomcat-8.0.37/webapps/[a-z]* +RUN mv apache-tomcat-8.0.37 /opt + +WORKDIR ${TOMCATHOME}/webapps +RUN mkdir ECOMPPORTAL && mkdir ECOMPSDKAPP && mkdir ECOMPDBCAPP + +# Portal has many parts +COPY $PORTAL_WAR ECOMPPORTAL +RUN cd ECOMPPORTAL && unzip -q *.war && rm *.war +COPY ${FE_DIR} ECOMPPORTAL/public + +# SDK app has only a war +COPY $SDK_WAR ECOMPSDKAPP +RUN cd ECOMPSDKAPP && unzip -q *.war && rm *.war + +# DBC app has only a war +COPY $DBC_WAR ECOMPDBCAPP +RUN cd ECOMPDBCAPP && unzip -q *.war && rm *.war + +VOLUME ${TOMCATHOME}/logs + +# Define commonly used ENV variables +ENV PATH $PATH:$JAVA_HOME/bin:${TOMCATHOME}/bin +COPY configure-and-run.sh / + +# Define default command. +CMD ["/configure-and-run.sh"] diff --git a/deliveries/build_portalapps_dockers.sh b/deliveries/build_portalapps_dockers.sh new file mode 100755 index 00000000..eba1cb6d --- /dev/null +++ b/deliveries/build_portalapps_dockers.sh @@ -0,0 +1,116 @@ +#!/bin/bash +# Builds Portal, Portal-SDK and DMaaP-BC webapps; +# then packages all into a docker. +# Prereq: all three projects have been cloned from git. +# Expects to be invoked with CWD=portal/deliveries +# Caches files in local directory for docker build. + +# 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 + +# Work standalone AND in the ONAP 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} -B -gs ${GLOBAL_SETTINGS_FILE} -s ${SETTINGS_FILE}" +else + MVN=mvn +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" + exit 1 +fi + +# Establish directories and variables +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 +cd .. +BASE="$(pwd)" + +# Copy DDL/DML to required directories (old scripts use long path /PROJECT/...) +cd $DELIV +rm -fr PROJECT +# 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 +${MVN} clean install + +cd $BASE/ecomp-portal-BE-os +${MVN} clean package +cp target/ecompportal-be-os.war $OUT + +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 + +cd $BASE/sdk/ecomp-sdk/epsdk-app-os +${MVN} clean package +cp target/epsdk-app-os.war $OUT + +cd $BASE/dmaapbc/dcae_dmaapbc_webapp +${MVN} clean package +cp dbca-os/target/dmaap-bc-app-os.war $OUT + +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 + +# build portal docker +cd $DELIV +PORTAL_DOCKER_CMD=" + docker build -t ${IMGNAME} ${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 . +" +echo "Invoking portal docker build" +$PORTAL_DOCKER_CMD + +# Build widget-ms docker +cd $BASE/ecomp-portal-widget-ms +${MVN} package docker:build diff --git a/deliveries/dbstop.sh b/deliveries/dbstop.sh old mode 100644 new mode 100755 diff --git a/deliveries/etc.zip b/deliveries/etc.zip index a5577c1d..30e6898f 100644 Binary files a/deliveries/etc.zip and b/deliveries/etc.zip differ diff --git a/deliveries/new_start.sh b/deliveries/new_start.sh index 80847a85..0710c83d 100755 --- a/deliveries/new_start.sh +++ b/deliveries/new_start.sh @@ -1,3 +1,8 @@ +#!/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 @@ -6,17 +11,19 @@ PORTALPROPDIR=ECOMPPORTALAPP SDKAPPPROPDIR=ECOMPSDKAPP DBCAPPPROPDIR=ECOMPDBCAPP #docker rm ep_1610 -docker run -d --name "1610-1" \ +echo "Running docker image ${IMGNAME} as name ${CONTNAME}" +docker run -d --name ${CONTNAME} \ -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/fusion.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:1610-1 +${IMGNAME} diff --git a/deliveries/new_stop.sh b/deliveries/new_stop.sh index 6a1de1ad..6c4bf7a2 100755 --- a/deliveries/new_stop.sh +++ b/deliveries/new_stop.sh @@ -1,2 +1,9 @@ -docker stop 1610-1 -docker rm 1610-1 +#!/bin/sh + +# Establish environment variables +source $(dirname $0)/os_settings.sh + +echo "Stopping docker container named ${CONTNAME}" +docker stop ${CONTNAME} +echo "Removing docker container named ${CONTNAME}" +docker rm ${CONTNAME} diff --git a/deliveries/os_settings.sh b/deliveries/os_settings.sh index 68d3db80..f8b4f560 100755 --- a/deliveries/os_settings.sh +++ b/deliveries/os_settings.sh @@ -1,7 +1,9 @@ #!/bin/bash -IMGNAME=ep:1610-1 -VERSION=1.1.0-SNAPSHOT +#IMGNAME=ep:1610-1 +IMGNAME=onap-portal:1.1.0 +CONTNAME=ep-1.1.0 +VERSION=1.1.0 ETCDIR=etc WORKINGDIR=PROJECT SDK_DIR=PROJECT/Source/ecomp-portal-core/ecomp-portal-BE-os/target/ecompportal-be-os diff --git a/deliveries/run.sh b/deliveries/run.sh index ff214161..bd2a5dd1 100755 --- a/deliveries/run.sh +++ b/deliveries/run.sh @@ -1,6 +1,10 @@ #!/bin/bash + # Stop on errors; show output set -e -x -./os_build_febe.sh +# 1610 builder +# ./os_build_febe.sh +# 1707 builder +./build_portalapps_dockers.sh ./createMaria.sh docker images -- cgit 1.2.3-korg