diff options
-rw-r--r-- | docs/index.rst | 30 | ||||
-rwxr-xr-x | mvn-phase-lib.sh | 139 | ||||
-rwxr-xr-x | mvn-phase-script.sh | 50 | ||||
-rw-r--r-- | platformdoc/pom.xml | 31 | ||||
-rw-r--r-- | pom.xml | 106 |
5 files changed, 209 insertions, 147 deletions
diff --git a/docs/index.rst b/docs/index.rst index d9b58ac8..36dd11f2 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,7 +1,35 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. -TODO Add files to toctree and delete this header +Data Collection Analytics and Events ------------------------------------------------ + +Data Collection Analytics and Events (DCAE) is the data collection and analysis subsystem of ONAP. +Its functions include collection of FCAPs data from the network entotiess (VNFs, PNFs, etc), normalization and transportation of +data, analysis of data, and generations of ONAP events which can be received by other ONAP components such as Policy for +subsequent operations. + +DCAE consists of DCAE Platform components and DCAE Services components. + +- DCAE Platform + - Core Platform + - Cloudify Manager + - Consul + - Extended Platform + - Docker Host for containerized platform components + - CDAP Analytics Platform for CDAP analytics applications + - Docker Host for containerized service components + + +- DCAE Services + - Collectors + - Virtual Event Streaming (VES) collector, dockerized + - SNMP Trap collector, dockerized + - Analytics + - Holmes correlation analytics, dockerized + - Threshold Crosssing Analytics (TCA), CDAP analytics application + + + .. toctree:: :maxdepth: 1 diff --git a/mvn-phase-lib.sh b/mvn-phase-lib.sh index 9de7cced..66d5bbc0 100755 --- a/mvn-phase-lib.sh +++ b/mvn-phase-lib.sh @@ -19,6 +19,58 @@ # ECOMP is a trademark and service mark of AT&T Intellectual Property. +FQDN="${MVN_PROJECT_GROUPID}.${MVN_PROJECT_ARTIFACTID}" +if [ "$MVN_PROJECT_MODULEID" == "__" ]; then + MVN_PROJECT_MODULEID="" +fi + +if [[ "$MVN_PROJECT_VERSION" == *SNAPSHOT ]]; then + echo "=> for SNAPSHOT artifact build" + MVN_DEPLOYMENT_TYPE='SNAPSHOT' + MVN_DOCKERREGISTRY="$MVN_DOCKERREGISTRY_SNAPSHOT" + MVN_DOCKERREGISTRY_SERVERID="$MVN_DOCKERREGISTRY_SNAPSHOT_SERVERID" +else + echo "=> for STAGING/RELEASE artifact build" + MVN_DEPLOYMENT_TYPE='STAGING' + # below is not mistake. we only use the snapshot registry + MVN_DOCKERREGISTRY="$MVN_DOCKERREGISTRY_SNAPSHOT" + MVN_DOCKERREGISTRY_SERVERID="$MVN_DOCKERREGISTRY_SNAPSHOT_SERVERID" +fi +echo "MVN_DEPLOYMENT_TYPE is [$MVN_DEPLOYMENT_TYPE]" + + +TIMESTAMP=$(date +%C%y%m%dT%H%M%S) + +# WROKSPACE points to the current dir when the script is called, may be the root or module +if [ -z "$WORKSPACE" ]; then + WORKSPACE=$(pwd) +fi + + +TIMESTAMP=$(date +%C%y%m%dT%H%M%S) + + + +echo "MVN_PROJECT_MODULEID is [$MVN_PROJECT_MODULEID]" +echo "MVN_PHASE is [$MVN_PHASE]" +echo "MVN_PROJECT_GROUPID is [$MVN_PROJECT_GROUPID]" +echo "MVN_PROJECT_ARTIFACTID is [$MVN_PROJECT_ARTIFACTID]" +echo "MVN_PROJECT_VERSION is [$MVN_PROJECT_VERSION]" +echo "MVN_NEXUSPROXY is [$MVN_NEXUSPROXY]" +echo "MVN_RAWREPO_BASEURL_UPLOAD is [$MVN_RAWREPO_BASEURL_UPLOAD]" +echo "MVN_RAWREPO_BASEURL_DOWNLOAD is [$MVN_RAWREPO_BASEURL_DOWNLOAD]" +MVN_RAWREPO_HOST=$(echo "$MVN_RAWREPO_BASEURL_UPLOAD" | cut -f3 -d'/' |cut -f1 -d':') +echo "MVN_RAWREPO_HOST is [$MVN_RAWREPO_HOST]" +echo "MVN_RAWREPO_SERVERID is [$MVN_RAWREPO_SERVERID]" +echo "MVN_DOCKERREGISTRY is [$MVN_DOCKERREGISTRY]" +echo "MVN_DOCKERREGISTRY_SERVERID is [$MVN_DOCKERREGISTRY_SERVERID]" +echo "MVN_PYPISERVER_BASEURL is [$MVN_PYPISERVER_BASEURL]" +echo "MVN_PYPISERVER_SERVERID is [$MVN_PYPISERVER_SERVERID]" +echo "FQDN is [$FQDN]" +echo "MVN_PROJECT_MODULEID is [$MVN_PROJECT_MODULEID]" +echo "MVN_DEPLOYMENT_TYPE is [$MVN_DEPLOYMENT_TYPE]" + + clean_templated_files() { TEMPLATE_FILES=$(find . -name "*-template") @@ -226,40 +278,36 @@ upload_files_of_extension() } +upload_files_of_extension_rec() +{ + FILES=$(find . -name "*.${1}") + for F in $FILES ; do + upload_raw_file "$F" + done +} + + build_and_push_docker() { IMAGENAME="onap/${FQDN}.${MVN_PROJECT_MODULEID}" IMAGENAME=$(echo "$IMAGENAME" | sed -e 's/_*$//g' -e 's/\.*$//g') + IMAGENAME=$(echo "$IMAGENAME" | tr '[:upper:]' '[:lower:]') # use the major and minor version of the MVN artifact version as docker image version VERSION="${MVN_PROJECT_VERSION//[^0-9.]/}" VERSION2=$(echo "$VERSION" | cut -f1-2 -d'.') LFQI="${IMAGENAME}:${VERSION}-${TIMESTAMP}" - #BUILD_PATH="${WORKSPACE}" - # build a docker image - #docker build --rm -f "${WORKSPACE}"/Dockerfile -t "${LFQI}" "${BUILD_PATH}" - #BUILD_PATH="${WORKSPACE}" # build a docker image docker build --rm -f ./Dockerfile -t "${LFQI}" ./ - REPO="" - if [ $MVN_DEPLOYMENT_TYPE == "SNAPSHOT" ]; then - REPO=$MVN_DOCKERREGISTRY_DAILY - elif [ $MVN_DEPLOYMENT_TYPE == "STAGING" ]; then - # there seems to be no staging docker registry? set to use SNAPSHOT also - #REPO=$MVN_DOCKERREGISTRY_RELEASE - REPO=$MVN_DOCKERREGISTRY_DAILY - else - echo "Fail to determine DEPLOYMENT_TYPE" - REPO=$MVN_DOCKERREGISTRY_DAILY - fi - echo "DEPLOYMENT_TYPE is: $MVN_DEPLOYMENT_TYPE, repo is $REPO" + REPO="$MVN_DOCKERREGISTRY" + SERVERID="$MVN_DOCKERREGISTRY_SERVERID" if [ ! -z "$REPO" ]; then - USER=$(xpath -e "//servers/server[id='$REPO']/username/text()" "$SETTINGS_FILE") - PASS=$(xpath -e "//servers/server[id='$REPO']/password/text()" "$SETTINGS_FILE") + USER=$(xpath -e "//servers/server[id='$SERVERID']/username/text()" "$SETTINGS_FILE") + PASS=$(xpath -e "//servers/server[id='$SERVERID']/password/text()" "$SETTINGS_FILE") if [ -z "$USER" ]; then echo "Error: no user provided" fi @@ -297,3 +345,58 @@ build_and_push_docker() +push_docker_image() +{ + if [ -z "$1" ]; then + return + fi + OLDTAGNAME="$1" + OLDREPO=$(echo $TAGNAME | cut -f1 -d '/') + IMAGENAME_W_VERSION=$(echo $TAGNAME | cut -f2- -d '/') + + # build a docker image + docker pull "$OLDTAGNAME" + + REPO="$MVN_DOCKERREGISTRY" + SERVERID="$MVN_DOCKERREGISTRY_SERVERID" + + if [ ! -z "$REPO" ]; then + USER=$(xpath -e "//servers/server[id='$SERVERID']/username/text()" "$SETTINGS_FILE") + PASS=$(xpath -e "//servers/server[id='$SERVERID']/password/text()" "$SETTINGS_FILE") + if [ -z "$USER" ]; then + echo "Error: no user provided" + fi + if [ -z "$PASS" ]; then + echo "Error: no password provided" + fi + [ -z "$PASS" ] && PASS_PROVIDED="<empty>" || PASS_PROVIDED="<password>" + echo docker login "$REPO" -u "$USER" -p "$PASS_PROVIDED" + docker login "$REPO" -u "$USER" -p "$PASS" + + if [ $MVN_DEPLOYMENT_TYPE == "SNAPSHOT" ]; then + REPO="$REPO/snapshots" + elif [ $MVN_DEPLOYMENT_TYPE == "STAGING" ]; then + # there seems to be no staging docker registry? set to use SNAPSHOT also + #REPO=$MVN_DOCKERREGISTRY_RELEASE + REPO="$REPO" + else + echo "Fail to determine DEPLOYMENT_TYPE" + REPO="$REPO/unknown" + fi + + OLDTAG="${OLDTAGNAME}" + PUSHTAGS="${REPO}/${IMAGENAME_W_VERSION}-${TIMESTAMP} ${REPO}/${IMAGENAME_W_VERSION} ${REPO}/${IMAGENAME_W_VERSION}-latest" + for NEWTAG in ${PUSHTAGS} + do + echo "tagging ${OLDTAG} to ${NEWTAG}" + docker tag "${OLDTAG}" "${NEWTAG}" + echo "pushing ${NEWTAG}" + docker push "${NEWTAG}" + OLDTAG="${NEWTAG}" + done + fi + +} + + + diff --git a/mvn-phase-script.sh b/mvn-phase-script.sh index d940041f..7a2acb63 100755 --- a/mvn-phase-script.sh +++ b/mvn-phase-script.sh @@ -25,63 +25,19 @@ echo "running script: [$0] for module [$1] at stage [$2]" MVN_PROJECT_MODULEID="$1" MVN_PHASE="$2" - - PROJECT_ROOT=$(dirname $0) -FQDN="${MVN_PROJECT_GROUPID}.${MVN_PROJECT_ARTIFACTID}" -if [ "$MVN_PROJECT_MODULEID" == "__" ]; then - MVN_PROJECT_MODULEID="" -fi - -if [[ "$MVN_PROJECT_VERSION" == *SNAPSHOT ]]; then - echo "=> for SNAPSHOT artifact build" - MVN_DEPLOYMENT_TYPE='SNAPSHOT' -else - echo "=> for STAGING/RELEASE artifact build" - MVN_DEPLOYMENT_TYPE='STAGING' -fi -echo "MVN_DEPLOYMENT_TYPE is [$MVN_DEPLOYMENT_TYPE]" - - -TIMESTAMP=$(date +%C%y%m%dT%H%M%S) - # expected environment variables if [ -z "${MVN_NEXUSPROXY}" ]; then echo "MVN_NEXUSPROXY environment variable not set. Cannot proceed" - exit + exit 1 fi -MVN_NEXUSPROXY_HOST=$(echo "$MVN_NEXUSPROXY" |cut -f3 -d'/' | cut -f1 -d':') -echo "=> Nexus Proxy at $MVN_NEXUSPROXY_HOST, $MVN_NEXUSPROXY" - -if [ -z "$WORKSPACE" ]; then - WORKSPACE=$(pwd) -fi - if [ -z "$SETTINGS_FILE" ]; then echo "SETTINGS_FILE environment variable not set. Cannot proceed" - exit + exit 2 fi - - - -# mvn phase in life cycle -MVN_PHASE="$2" -echo "MVN_PROJECT_MODULEID is [$MVN_PROJECT_MODULEID]" -echo "MVN_PHASE is [$MVN_PHASE]" -echo "MVN_PROJECT_GROUPID is [$MVN_PROJECT_GROUPID]" -echo "MVN_PROJECT_ARTIFACTID is [$MVN_PROJECT_ARTIFACTID]" -echo "MVN_PROJECT_VERSION is [$MVN_PROJECT_VERSION]" -echo "MVN_NEXUSPROXY is [$MVN_NEXUSPROXY]" -echo "MVN_RAWREPO_BASEURL_UPLOAD is [$MVN_RAWREPO_BASEURL_UPLOAD]" -echo "MVN_RAWREPO_BASEURL_DOWNLOAD is [$MVN_RAWREPO_BASEURL_DOWNLOAD]" -MVN_RAWREPO_HOST=$(echo "$MVN_RAWREPO_BASEURL_UPLOAD" | cut -f3 -d'/' |cut -f1 -d':') -echo "MVN_RAWREPO_HOST is [$MVN_RAWREPO_HOST]" -echo "MVN_RAWREPO_SERVERID is [$MVN_RAWREPO_SERVERID]" -echo "MVN_DOCKERREGISTRY_DAILY is [$MVN_DOCKERREGISTRY_DAILY]" -echo "MVN_DOCKERREGISTRY_RELEASE is [$MVN_DOCKERREGISTRY_RELEASE]" source "${PROJECT_ROOT}"/mvn-phase-lib.sh @@ -113,7 +69,6 @@ install) ;; deploy) echo "==> deploy phase script" - case $MVN_PROJECT_MODULEID in platformdoc) set -x @@ -136,7 +91,6 @@ deploy) echo "====> unknown mvn project module" ;; esac - ;; *) echo "==> unprocessed phase" diff --git a/platformdoc/pom.xml b/platformdoc/pom.xml index 83c21fca..9c07291a 100644 --- a/platformdoc/pom.xml +++ b/platformdoc/pom.xml @@ -22,7 +22,7 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.onap.dcaegen2</groupId> - <artifactId>dcaegen2</artifactId> + <artifactId>root</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <groupId>org.onap.dcaegen2</groupId> @@ -51,6 +51,35 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. </properties> <build> <finalName>${project.artifactId}-${project.version}</finalName> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.2.1</version> + <configuration> + <executable>${session.executionRootDirectory}/mvn-phase-script.sh</executable> + <environmentVariables> + <!-- make mvn properties as env for our script --> + <MVN_PROJECT_GROUPID>${project.parent.groupId}</MVN_PROJECT_GROUPID> + <MVN_PROJECT_ARTIFACTID>${project.parent.artifactId}</MVN_PROJECT_ARTIFACTID> + <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION> + <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY> + <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD> + <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD> + <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID> + <MVN_DOCKERREGISTRY_SNAPSHOT>${onap.nexus.dockerregistry.snapshot}</MVN_DOCKERREGISTRY_SNAPSHOT> + <MVN_DOCKERREGISTRY_RELEASE>${onap.nexus.dockerregistry.release}</MVN_DOCKERREGISTRY_RELEASE> + <MVN_DOCKERREGISTRY_SNAPSHOT_SERVERID>${onap.nexus.dockerregistry.snapshot.serverid}</MVN_DOCKERREGISTRY_SNAPSHOT_SERVERID> + <MVN_DOCKERREGISTRY_RELEASE_SERVERID>${onap.nexus.dockerregistry.release.serverid}</MVN_DOCKERREGISTRY_RELEASE_SERVERID> + <MVN_PYPISERVER_BASEURL>${onap.nexus.pypiserver.baseurl}</MVN_PYPISERVER_BASEURL> + <MVN_PYPISERVER_SERVERID>${onap.nexus.pypiserver.serverid}</MVN_PYPISERVER_SERVERID> + </environmentVariables> + </configuration> + </plugin> + </plugins> + </pluginManagement> + <plugins> <!-- plugin> <artifactId>maven-assembly-plugin</artifactId> @@ -23,12 +23,12 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. <parent> <groupId>org.onap.oparent</groupId> <artifactId>oparent</artifactId> - <version>1.0.0-SNAPSHOT</version> + <version>0.1.1</version> </parent> <!--- CHANGE THE FOLLOWING 3 OBJECTS for your own repo --> <groupId>org.onap.dcaegen2</groupId> - <artifactId>dcaegen2</artifactId> - <name>dcaegen2</name> + <artifactId>root</artifactId> + <name>dcaegen2-root</name> <version>1.0.0-SNAPSHOT</version> <url>http://maven.apache.org</url> @@ -38,8 +38,22 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. </modules> <properties> + <onap.nexus.url>https://nexus.onap.org</onap.nexus.url> + <!-- properties for Nexus raw repo --> + <onap.nexus.rawrepo.baseurl.upload>https://nexus.onap.org/content/sites/raw</onap.nexus.rawrepo.baseurl.upload> + <onap.nexus.rawrepo.baseurl.download>https://nexus.onap.org/service/local/repositories/raw/content</onap.nexus.rawrepo.baseurl.download> + <onap.nexus.rawrepo.serverid>ecomp-raw</onap.nexus.rawrepo.serverid> + <!-- properties for Nexus Docker registry --> + <onap.nexus.dockerregistry.snapshot>nexus3.onap.org:10003</onap.nexus.dockerregistry.snapshot> + <onap.nexus.dockerregistry.release>nexus3.onap.org:10002</onap.nexus.dockerregistry.release> + <onap.nexus.dockerregistry.snapshot.serverid>nexus3.onap.org:10003</onap.nexus.dockerregistry.snapshot.serverid> + <onap.nexus.dockerregistry.release.serverid>nexus3.onap.org:10002</onap.nexus.dockerregistry.release.serverid> + <!-- properties for Pypi server --> + <onap.nexus.pypiserver.baseurl>https://nexus3.onap.org/repository/PyPi</onap.nexus.pypiserver.baseurl> + <onap.nexus.pypiserver.serverid>onap-pypi</onap.nexus.pypiserver.serverid> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <sonar.skip>true</sonar.skip> + <sonar.skip>false</sonar.skip> <sonar.sources>.</sonar.sources> <!-- customize the SONARQUBE URL --> <!-- sonar.host.url>http://localhost:9000</sonar.host.url --> @@ -59,77 +73,6 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. <finalName>${project.artifactId}-${project.version}</finalName> <pluginManagement> <plugins> - <!-- the following plugins are invoked from oparent, we do not need them --> - <plugin> - <groupId>org.sonatype.plugins</groupId> - <artifactId>nexus-staging-maven-plugin</artifactId> - <version>1.6.7</version> - <configuration> - <skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo> - <skip>true</skip> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-deploy-plugin</artifactId> - <!-- This version supports the "deployAtEnd" parameter --> - <version>2.8</version> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - <!-- first disable the default Java plugins at various stages --> - <!-- maven-resources-plugin is called during "*resource" phases by default behavior. it prepares - the resources dir. we do not need it --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-resources-plugin</artifactId> - <version>2.6</version> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - <!-- maven-compiler-plugin is called during "compile" phases by default behavior. we do not need it --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>3.1</version> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - <!-- maven-jar-plugin is called during "compile" phase by default behavior. we do not need it --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>2.4</version> - <executions> - <execution> - <id>default-jar</id> - <phase/> - </execution> - </executions> - </plugin> - <!-- maven-install-plugin is called during "install" phase by default behavior. it tries to copy stuff under - target dir to ~/.m2. we do not need it --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-install-plugin</artifactId> - <version>2.4</version> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - <!-- maven-surefire-plugin is called during "test" phase by default behavior. it triggers junit test. - we do not need it --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <version>2.12.4</version> - <configuration> - <skipTests>true</skipTests> - </configuration> - </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> @@ -138,15 +81,20 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. <executable>${session.executionRootDirectory}/mvn-phase-script.sh</executable> <environmentVariables> <!-- make mvn properties as env for our script --> - <MVN_PROJECT_GROUPID>${parent.groupId}</MVN_PROJECT_GROUPID> - <MVN_PROJECT_ARTIFACTID>${parent.artifactId}</MVN_PROJECT_ARTIFACTID> - <MVN_PROJECT_VERSION>${parent.version}</MVN_PROJECT_VERSION> + <!-- make mvn properties as env for our script --> + <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID> + <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID> + <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION> <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY> <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD> <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD> <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID> - <MVN_DOCKERREGISTRY_DAILY>${onap.nexus.dockerregistry.daily}</MVN_DOCKERREGISTRY_DAILY> + <MVN_DOCKERREGISTRY_SNAPSHOT>${onap.nexus.dockerregistry.snapshot}</MVN_DOCKERREGISTRY_SNAPSHOT> <MVN_DOCKERREGISTRY_RELEASE>${onap.nexus.dockerregistry.release}</MVN_DOCKERREGISTRY_RELEASE> + <MVN_DOCKERREGISTRY_SNAPSHOT_SERVERID>${onap.nexus.dockerregistry.snapshot.serverid}</MVN_DOCKERREGISTRY_SNAPSHOT_SERVERID> + <MVN_DOCKERREGISTRY_RELEASE_SERVERID>${onap.nexus.dockerregistry.release.serverid}</MVN_DOCKERREGISTRY_RELEASE_SERVERID> + <MVN_PYPISERVER_BASEURL>${onap.nexus.pypiserver.baseurl}</MVN_PYPISERVER_BASEURL> + <MVN_PYPISERVER_SERVERID>${onap.nexus.pypiserver.serverid}</MVN_PYPISERVER_SERVERID> </environmentVariables> </configuration> </plugin> |