From eab16750256c4b4f54c3e1ac12282f4abe5d1b0d Mon Sep 17 00:00:00 2001 From: Lusheng Ji Date: Tue, 19 Sep 2017 18:39:04 +0000 Subject: [PATCH] Update doc, mvn script, pom Issue-Id: DCAEGEN2-60 Change-Id: Iad513b12fd79a6404d0ae05f65bce31951af918a Signed-off-by: Lusheng Ji --- docs/index.rst | 30 +++++++++++- mvn-phase-lib.sh | 139 +++++++++++++++++++++++++++++++++++++++++++++------- mvn-phase-script.sh | 50 +------------------ platformdoc/pom.xml | 31 +++++++++++- 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="" || PASS_PROVIDED="" + 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. 4.0.0 org.onap.dcaegen2 - dcaegen2 + root 1.0.0-SNAPSHOT org.onap.dcaegen2 @@ -51,6 +51,35 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. ${project.artifactId}-${project.version} + + + + org.codehaus.mojo + exec-maven-plugin + 1.2.1 + + ${session.executionRootDirectory}/mvn-phase-script.sh + + + ${project.parent.groupId} + ${project.parent.artifactId} + ${project.version} + ${onap.nexus.url} + ${onap.nexus.rawrepo.baseurl.upload} + ${onap.nexus.rawrepo.baseurl.download} + ${onap.nexus.rawrepo.serverid} + ${onap.nexus.dockerregistry.snapshot} + ${onap.nexus.dockerregistry.release} + ${onap.nexus.dockerregistry.snapshot.serverid} + ${onap.nexus.dockerregistry.release.serverid} + ${onap.nexus.pypiserver.baseurl} + ${onap.nexus.pypiserver.serverid} + + + + + + org.onap.dcaegen2 - dcaegen2 - dcaegen2 + root + dcaegen2-root 1.0.0-SNAPSHOT http://maven.apache.org @@ -38,8 +38,22 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. + https://nexus.onap.org + + https://nexus.onap.org/content/sites/raw + https://nexus.onap.org/service/local/repositories/raw/content + ecomp-raw + + nexus3.onap.org:10003 + nexus3.onap.org:10002 + nexus3.onap.org:10003 + nexus3.onap.org:10002 + + https://nexus3.onap.org/repository/PyPi + onap-pypi + UTF-8 - true + false . @@ -59,77 +73,6 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. ${project.artifactId}-${project.version} - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.7 - - true - true - - - - org.apache.maven.plugins - maven-deploy-plugin - - 2.8 - - true - - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.6 - - true - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.1 - - true - - - - - org.apache.maven.plugins - maven-jar-plugin - 2.4 - - - default-jar - - - - - - - org.apache.maven.plugins - maven-install-plugin - 2.4 - - true - - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.12.4 - - true - - org.codehaus.mojo exec-maven-plugin @@ -138,15 +81,20 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. ${session.executionRootDirectory}/mvn-phase-script.sh - ${parent.groupId} - ${parent.artifactId} - ${parent.version} + + ${project.groupId} + ${project.artifactId} + ${project.version} ${onap.nexus.url} ${onap.nexus.rawrepo.baseurl.upload} ${onap.nexus.rawrepo.baseurl.download} ${onap.nexus.rawrepo.serverid} - ${onap.nexus.dockerregistry.daily} + ${onap.nexus.dockerregistry.snapshot} ${onap.nexus.dockerregistry.release} + ${onap.nexus.dockerregistry.snapshot.serverid} + ${onap.nexus.dockerregistry.release.serverid} + ${onap.nexus.pypiserver.baseurl} + ${onap.nexus.pypiserver.serverid} -- 2.16.6