Merge "Fix Heat Health Check"
authorMarco Platania <platania@research.att.com>
Fri, 27 Apr 2018 13:44:24 +0000 (13:44 +0000)
committerGerrit Code Review <gerrit@onap.org>
Fri, 27 Apr 2018 13:44:24 +0000 (13:44 +0000)
18 files changed:
boot/aaf_install.sh
boot/aaf_vm_init.sh
boot/appc_vm_init.sh
boot/dbcl_serv.sh [deleted file]
boot/dbcl_vm_init.sh
boot/mr_install.sh
boot/mr_vm_init.sh
boot/oof_install.sh
boot/oof_vm_init.sh
boot/policy_vm_init.sh
heat/ONAP/onap_openstack.env
heat/ONAP/onap_openstack.yaml
heat/ONAP/onap_openstack_light.yaml
heat/ONAP/onap_openstack_template.env
vnfs/VES5.0/evel/evel-library/code/evel_library/evel.h
vnfs/VES5.0/evel/evel-library/code/evel_library/evel_jsonobject.c
vnfs/VES5.0/evel/evel-library/code/evel_library/evel_other.c
vnfs/VES5.0/evel/evel-library/code/evel_library/evel_scaling_measurement.c

index 0378a4e..ea80e47 100644 (file)
@@ -95,8 +95,13 @@ resolvconf -u
 cd /opt
 git clone -b $GERRIT_BRANCH --single-branch $CODE_REPO
 chmod +x /opt/authz/auth/auth-cass/docker/dinstall.sh
+chmod +x /opt/authz/auth/auth-cass/docker/backup/backup.sh
+chmod +x /opt/authz/auth/docker/dbuild.sh
 chmod +x /opt/authz/auth/docker/drun.sh
-chmod +x /opt/authz/auth/docker/d.props
+chmod +x /opt/authz/auth/docker/dstart.sh
+chmod +x /opt/authz/auth/docker/dstop.sh
+# d.props is not a startable shell
+# chmod +x /opt/authz/auth/docker/d.props
 
 #Update maven settings
 cat > /usr/share/maven/conf/settings.xml << EOF
@@ -513,4 +518,4 @@ then
 fi
 
 cd /opt
-./aaf_vm_init.sh
\ No newline at end of file
+./aaf_vm_init.sh
index 7bc868a..ea64c3e 100644 (file)
@@ -4,19 +4,60 @@ 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)
+HOSTNAME=`hostname`
+FQDN=aaf.api.simpledemo.onap.org
+HOST_IP=$(cat /opt/config/dns_ip_addr.txt)
 
 docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
 
 cd /opt/authz
 git pull
 
+if [ "`docker container ls | grep aaf_cass`" = "" ]; then
+  # Cassandra Install
+  cd /opt/authz/auth/auth-cass/docker
+  # Phase 1
+  ./dinstall.sh
+  echo "Waiting for Cassandra to startup"
+  sleep 15
+  # Phase 2
+  if [ "`docker container ls | grep aaf_cass`" = "" ]; then
+      echo "Error on Cassandra install"
+      exit
+  else
+      ./dinstall.sh
+  fi
+fi
+
+CASS_IP=`docker inspect aaf_cass | grep '"IPAddress' | head -1 | cut -d '"' -f 4`
+CASS_HOST="cass.aaf.osaaf.org:"$CASS_IP
+
 sed -i "s/DOCKER_REPOSITORY=.*/DOCKER_REPOSITORY="$NEXUS_DOCKER_REPO"/g" /opt/authz/auth/docker/d.props
-sed -i "s/VERSION=.*/VERSION="$DOCKER_IMAGE_VERSION"/g" /opt/authz/auth/docker/d.props
+#sed -i "s/VERSION=.*/VERSION="$DOCKER_IMAGE_VERSION"/g" /opt/authz/auth/docker/d.props
+sed -i "s/HOSTNAME=.*/HOSTNAME="$HOSTNAME"/g" /opt/authz/auth/docker/d.props
+sed -i "s/HOST_IP=.*/HOST_IP="$HOST_IP"/g" /opt/authz/auth/docker/d.props
+sed -i "s/CASS_HOST=.*/CASS_HOST="$CASS_HOST"/g" /opt/authz/auth/docker/d.props
 
-cd /opt/authz/auth/auth-cass/docker
-./dinstall.sh
+if [ ! -e "/opt/app/osaaf/etc" ]; then
+  # Nothing installed, install sample
+  mkdir -p /opt/app/osaaf/logs
+  cd /opt/app/osaaf/logs
+  mkdir fs cm gui hello locate oauth service
+  cd /opt
+  cp -Rf /opt/authz/auth/sample/* /opt/app/osaaf
+fi
+# Set Location information
+# Need new Deployment system properties
+CADI_LATITUDE=37.781
+CADI_LONGITUDE=-122.261
 
-sleep 2
+CADI_TRUST_MASKS="${HOST_IP%\.[0-9]*}\\/24,${CASS_IP%\.[0-9]*}\\/24"
+sed -i "s/cadi_latitude=.*/cadi_latitude="$CADI_LATITUDE"/g" /opt/app/osaaf/local/org.osaaf.location.props
+sed -i "s/cadi_longitude=.*/cadi_longitude="$CADI_LONGITUDE"/g" /opt/app/osaaf/local/org.osaaf.location.props
+sed -i "s/cadi_registration_hostname=.*/cadi_registration_hostname="$FQDN"/g" /opt/app/osaaf/local/org.osaaf.location.props
+sed -i "s/cadi_trust_masks=.*/cadi_trust_masks="$CADI_TRUST_MASKS"/g" /opt/app/osaaf/local/org.osaaf.location.props
 
 cd /opt/authz/auth/docker
+./dbuild.sh
+sleep 5
 ./drun.sh
\ No newline at end of file
index 3e57c39..647e959 100644 (file)
@@ -22,4 +22,7 @@ docker tag $NEXUS_DOCKER_REPO/onap/appc-image:$DOCKER_IMAGE_VERSION onap/appc-im
 docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$DGBUILDER_IMAGE_VERSION
 docker tag $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$DGBUILDER_IMAGE_VERSION onap/ccsdk-dgbuilder-image:latest
 
+docker pull $NEXUS_DOCKER_REPO/onap/appc-cdt-image:$DOCKER_IMAGE_VERSION
+docker tag $NEXUS_DOCKER_REPO/onap/appc-cdt-image:$DOCKER_IMAGE_VERSION onap/appc-cdt-image:latest
+
 /opt/docker/docker-compose up -d
diff --git a/boot/dbcl_serv.sh b/boot/dbcl_serv.sh
deleted file mode 100644 (file)
index dfb7020..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-
-#############################################################################
-#
-# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
-#
-# 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.
-#
-#############################################################################
-
-#!/bin/sh
-### BEGIN INIT INFO
-# Provides:
-# Required-Start:    $remote_fs $syslog
-# Required-Stop:     $remote_fs $syslog
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Start daemon at boot time
-# Description:       Enable service provided by daemon.
-### END INIT INFO
-
-dir="/opt"
-cmd="./dbcl_vm_init.sh"
-user="root"
-
-name=`basename $0`
-pid_file="/var/run/$name.pid"
-stdout_log="/var/log/$name.log"
-stderr_log="/var/log/$name.err"
-
-get_pid() {
-    cat "$pid_file"
-}
-
-is_running() {
-    [ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1
-}
-
-case "$1" in
-    start)
-    if is_running; then
-        echo "Already started"
-    else
-        echo "Starting $name"
-        cd "$dir"
-        if [ -z "$user" ]; then
-            sudo $cmd >> "$stdout_log" 2>> "$stderr_log" &
-        else
-            sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" &
-        fi
-        echo $! > "$pid_file"
-        if ! is_running; then
-            echo "Unable to start, see $stdout_log and $stderr_log"
-            exit 1
-        fi
-    fi
-    ;;
-    stop)
-    if is_running; then
-        echo -n "Stopping $name.."
-        kill `get_pid`
-        for i in {1..10}
-        do
-            if ! is_running; then
-                break
-            fi
-
-            echo -n "."
-            sleep 1
-        done
-        echo
-
-        if is_running; then
-            echo "Not stopped; may still be shutting down or shutdown may have failed"
-            exit 1
-        else
-            echo "Stopped"
-            if [ -f "$pid_file" ]; then
-                rm "$pid_file"
-            fi
-        fi
-    else
-        echo "Not running"
-    fi
-    ;;
-    restart)
-    $0 stop
-    if is_running; then
-        echo "Unable to stop, will not attempt to start"
-        exit 1
-    fi
-    $0 start
-    ;;
-    status)
-    if is_running; then
-        echo "Running"
-    else
-        echo "Stopped"
-        exit 1
-    fi
-    ;;
-    *)
-    echo "Usage: $0 {start|stop|restart|status}"
-    exit 1
-    ;;
-esac
-
-exit 0
index ba9859a..3605f89 100644 (file)
@@ -4,7 +4,7 @@
 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/uui_docker.txt)
+DOCKER_IMAGE_VERSION=$(cat /opt/config/docker_version.txt)
 
 # Refresh images
 docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
@@ -15,7 +15,7 @@ docker rm -f dmaap-buscontroller
 
 TMP_CFG=/tmp/docker-dmaap-buscontroller.conf
 cat >> $TMP_CFG <<!EOF
-DMAAPBC_INT_HTTPS_PORT=0
+DMAAPBC_INT_HTTPS_PORT=8443
 DMAAPBC_PG_ENABLED=false
 DMAAPBC_INSTANCE_NAME=ONAP-CSIT
 DMAAPBC_AAF_URL=https://aaf.api.simpledemo.onap.org:8095/proxy/
@@ -26,6 +26,8 @@ DMAAPBC_DRPROV_FQDN=drprov.simpledemo.onap.org
 # Insert docker run instructions here
 docker run -i -t -d --name dmaap-buscontroller -p 8080:8080 -p 8443:8443 -v $TMP_CFG:/opt/app/config/conf $NEXUS_DOCKER_REPO/onap/dmaap/buscontroller:$DOCKER_IMAGE_VERSION
 
+sleep 15
+
 DBCL_FQDN=dbc.api.simpledemo.onap.org
 DRPS_FQDN=drprov.simpledemo.onap.org
 MR_FQDN=mr.api.simpledemo.onap.org
index 9bd5656..391e674 100644 (file)
@@ -64,11 +64,7 @@ update-rc.d mr_serv.sh defaults
 
 # b) scripts for bus controller (dbcl)
 curl -k $NEXUS_REPO/org.onap.demo/boot/$ARTIFACTS_VERSION/dbcl_vm_init.sh -o /opt/dbcl_vm_init.sh
-curl -k $NEXUS_REPO/org.onap.demo/boot/$ARTIFACTS_VERSION/dbcl_serv.sh -o /opt/dbcl_serv.sh
 chmod +x /opt/dbcl_vm_init.sh
-chmod +x /opt/dbcl_serv.sh
-mv /opt/dbcl_serv.sh /etc/init.d
-update-rc.d dbcl_serv.sh defaults
 
 # Download and install docker-engine and docker-compose
 echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
@@ -102,5 +98,5 @@ resolvconf -u
 
 # Clone Gerrit repository and run docker containers
 cd /opt
-git clone -b $GERRIT_BRANCH --single-branch $CODE_REPO dcae-startup-vm-message-router
+git clone -b $GERRIT_BRANCH --single-branch $CODE_REPO /opt/startup-vm-message-router
 ./mr_vm_init.sh
index f062676..78d61f8 100644 (file)
@@ -5,12 +5,12 @@ export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort
 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)
 
 docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
 
-cd /opt/dcae-startup-vm-message-router
+cd /opt/startup-vm-message-router/demo
 sed -i 's|wget .*|wget -q \"http://archive.apache.org/dist/kafka/${KAFKA_VERSION}/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz\" \\|g' deploy.sh
-bash deploy.sh &
+bash deploy.sh &>/dev/null &disown
 
-bash dbcl_vm_init.sh &
+cd /opt
+bash dbcl_vm_init.sh &>/dev/null &disown
index 89c3013..2e60eaf 100644 (file)
@@ -91,6 +91,10 @@ service docker restart
 echo "nameserver "$DNS_IP_ADDR >> /etc/resolvconf/resolv.conf.d/head
 resolvconf -u
 
+# Clone Gerrit repository
+cd /opt
+git clone -b $GERRIT_BRANCH --single-branch $CODE_REPO optf-has
+
 # Rename network interface in openstack Ubuntu 16.04 images. Then, reboot the VM to pick up changes
 if [[ $CLOUD_ENV != "rackspace" ]]
 then
@@ -103,7 +107,5 @@ then
        reboot
 fi
 
-# Clone Gerrit repository and run docker containers
-cd /opt
-git clone -b $GERRIT_BRANCH --single-branch $CODE_REPO optf-has
+# Run docker containers
 ./oof_vm_init.sh
\ No newline at end of file
index 836aa34..717a16e 100644 (file)
@@ -1,5 +1,9 @@
 #!/bin/bash
 
+CERT=/opt/optf-has/aai_cert.cer
+KEY=/opt/optf-has/aai_key.key
+BUNDLE=/opt/optf-has/aai_bundle.pem
+
 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)
@@ -11,8 +15,8 @@ git pull
 COND_CONF=/opt/optf-has/conductor.conf
 LOG_CONF=/opt/optf-has/log.conf
 
-#THE FOLLOWING LINE IS A PLACEHOLDER
-AAI_cert=/opt/optf-has/aai_cert.cer
+#!!! THE FOLLOWING LINE IS A PLACEHOLDER !!!
+AAI_cert=/usr/local/bin/aai_cert.cer
 
 IMAGE_NAME="$NEXUS_DOCKER_REPO/onap/optf-has"
 
@@ -27,19 +31,77 @@ CASS_PASSWORD=cassandra1
 
 # pull images from repo
 docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
+docker pull $NEXUS_DOCKER_REPO/onap/optf-osdf:$DOCKER_IMAGE_VERSION
 docker pull ${ZK_IMG}
 docker pull ${TOMCAT_IMG}
 docker pull ${CASS_IMG}
 docker pull ${MUSIC_IMG}
 docker pull $NEXUS_DOCKER_REPO/onap/optf-has:$DOCKER_IMAGE_VERSION
 
+
+#run optf-osdf
+
+OSDF_IMAGE_NAME="$NEXUS_DOCKER_REPO/onap/optf-osdf"
+OSDF_CONFIG=/opt/optf-osdf/config/osdf_config.yaml
+
+mkdir -p /opt/optf-osdf/config
+
+cat > $OSDF_CONFIG<<NEWFILE
+
+# Credentials for SO
+soUsername: ""   # SO username for call back.
+soPassword: ""   # SO password for call back.
+
+# Credentials for Conductor
+conductorUrl: https://localhost:8091/v1/plans/
+conductorUsername: admin1
+conductorPassword: plan.15
+conductorPingWaitTime: 60  # seconds to wait before calling the conductor retry URL
+conductorMaxRetries: 30  # if we don't get something in 30 minutes, give up
+
+# Policy Platform -- requires ClientAuth, Authorization, and Environment
+policyPlatformUrl: http://policy.api.simpledemo.onap.org:8081/pdp/api/getConfig # Policy Dev platform URL
+policyPlatformEnv: TEST  # Environment for policy platform
+policyPlatformUsername: testpdp   # Policy platform username.
+policyPlatformPassword: alpha123   # Policy platform password.
+policyClientUsername: python   # For use with ClientAuth
+policyClientPassword: test   # For use with ClientAuth
+
+# Credentials for DMaaP
+messageReaderHosts: NA
+messageReaderTopic: NA
+messageReaderAafUserId: NA
+messageReaderAafPassword: NA
+
+# Credentials for SDC
+sdcUrl: NA
+sdcUsername: NA
+sdcPassword: NA
+sdcONAPInstanceID: NA
+
+# Credentials for the OOF placement service - Generic
+osdfPlacementUsername: test
+osdfPlacementPassword: testpwd
+
+# Credentials for the OOF placement service - SO
+osdfPlacementSOUsername: so_test
+osdfPlacementSOPassword: so_testpwd
+
+# Credentials for the OOF CM scheduling service - Generic
+osdfCMSchedulerUsername: test1
+osdfCMSchedulerPassword: testpwd1
+
+NEWFILE
+
+docker run -d --name osdf -v $OSDF_CONFIG:/optf/config/osdf_config.yaml -p 8698:8699 ${OSDF_IMAGE_NAME}:latest
+
 # install MUSIC
 # create directory for music properties and logs
 mkdir -p /opt/optf-has/music/properties
 mkdir -p /opt/optf-has/music/logs
 
 # add music.properties file
-cat >> /opt/optf-has/music/properties/music.properties << NEWFILE
+cat > /opt/optf-has/music/properties/music.properties<<NEWFILE
 my.id=0
 all.ids=0
 my.public.ip=localhost
@@ -86,21 +148,84 @@ docker run -d --rm --name music-tomcat --network music-net -p "8080:8080" -v mus
 
 # Connect tomcat to host bridge network so that its port can be seen.
 docker network connect bridge music-tomcat;
+sleep 6;
+echo "Running onboarding curl command"
+curl -X POST \
+  http://localhost:8080/MUSIC/rest/v2/admin/onboardAppWithMusic \
+  -H 'Cache-Control: no-cache' \
+  -H 'Content-Type: application/json' \
+  -H 'Postman-Token: 7d2839f4-b032-487a-8998-4d1b27a932d7' \
+  -d '{
+"appname": "conductor",
+"userId" : "conductor",
+"isAAF"  : false,
+"password" : "c0nduct0r"
+}
+'
+echo "Onboarding curl complete"
 
 # Get MUSIC url
 MUSIC_URL=$(docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-tomcat)
+#MUSIC_URL=localhost
 
 # Set A&AI and MUSIC url inside OOF-HAS conductor.conf
 sed -i "138 s%.*%server_url = https://aai.api.simpledemo.onap.org:8443/aai%" $COND_CONF
 sed -i "141 s%.*%server_url_version = v13%" $COND_CONF
-sed -i "250 s%.*%server_url = $MUSIC_URL:8080/MUSIC/rest/v2%" $COND_CONF
+sed -i "250 s%.*%server_url = http://$MUSIC_URL:8080/MUSIC/rest/v2%" $COND_CONF
+sed -i "277 s%.*%replication_factor = 1%" $COND_CONF
 
 # Set A&AI authentication file locations inside OOF-HAS conductor.conf
 sed -i "153 s%.*%certificate_authority_bundle_file = $AAI_cert%" $COND_CONF
 
+
+echo "Values to data component"
+echo $CERT
+echo $KEY
+echo $BUNDLE
+
 # run optf-has
 docker run -d --name controller -v $COND_CONF:/usr/local/bin/conductor.conf -v $LOG_CONF:/usr/local/bin/log.conf ${IMAGE_NAME}:latest python /usr/local/bin/conductor-controller --config-file=/usr/local/bin/conductor.conf
+
 docker run -d --name api -p "8091:8091" -v $COND_CONF:/usr/local/bin/conductor.conf -v $LOG_CONF:/usr/local/bin/log.conf ${IMAGE_NAME}:latest python /usr/local/bin/conductor-api --port=8091 -- --config-file=/usr/local/bin/conductor.conf
+
 docker run -d --name solver -v $COND_CONF:/usr/local/bin/conductor.conf -v $LOG_CONF:/usr/local/bin/log.conf ${IMAGE_NAME}:latest python /usr/local/bin/conductor-solver --config-file=/usr/local/bin/conductor.conf
+
 docker run -d --name reservation -v $COND_CONF:/usr/local/bin/conductor.conf -v $LOG_CONF:/usr/local/bin/log.conf ${IMAGE_NAME}:latest python /usr/local/bin/conductor-reservation --config-file=/usr/local/bin/conductor.conf
-docker run -d --name data -v $COND_CONF:/usr/local/bin/conductor.conf -v $LOG_CONF:/usr/local/bin/log.conf -v $CERT:/usr/local/bin/aai_cert.cer -v $KEY:/usr/local/bin/aai_key.key -v $BUNDLE:/usr/local/bin/bundle.pem ${IMAGE_NAME}:latest python /usr/local/bin/conductor-data --config-file=/usr/local/bin/conductor.conf
\ No newline at end of file
+
+docker run -d --name data -v $COND_CONF:/usr/local/bin/conductor.conf -v $LOG_CONF:/usr/local/bin/log.conf -v $CERT:/usr/local/bin/aai_cert.cer -v $KEY:/usr/local/bin/aai_key.key -v $BUNDLE:/usr/local/bin/bundle.pem ${IMAGE_NAME}:latest python /usr/local/bin/conductor-data --config-file=/usr/local/bin/conductor.conf
+
+sleep 10
+
+echo "Inserting healthcheck plan"
+
+curl -X POST \
+  http://localhost:8080/MUSIC/rest/v2/keyspaces/conductor/tables/plans/rows/ \
+  -H 'Cache-Control: no-cache' \
+  -H 'Content-Type: application/json' \
+  -H 'Postman-Token: 502781e8-d588-475d-b181-c2e26625ac95' \
+  -H 'X-minorVersion: 3' \
+  -H 'X-patchVersion: 0' \
+  -H 'ns: conductor' \
+  -H 'password: c0nduct0r' \
+  -H 'userId: conductor' \
+  -d '{
+    "consistencyInfo": {
+        "type": "eventual"
+    },
+    "values": {
+        "id" : "healthcheck",
+        "created": 1479482603641,
+        "message": "",
+        "name": "foo",
+        "recommend_max": 1,
+        "solution": "{\"healthcheck\": \" healthcheck\"}",
+        "status": "solved",
+        "template": "{\"healthcheck\": \"healthcheck\"}",
+        "timeout": 3600,
+        "translation": "{\"healthcheck\": \" healthcheck\"}",
+        "updated": 1484324150629
+    }
+}
+'
+
+echo "Healthcheck plan inserted"
\ No newline at end of file
index 3803a83..099ef8f 100644 (file)
@@ -71,7 +71,7 @@ docker tag $NEXUS_DOCKER_REPO/onap/policy-pe:$DOCKER_IMAGE_VERSION onap/policy-p
 docker pull $NEXUS_DOCKER_REPO/onap/policy-drools:$DOCKER_IMAGE_VERSION
 docker tag $NEXUS_DOCKER_REPO/onap/policy-drools:$DOCKER_IMAGE_VERSION onap/policy-drools:latest
 
-docker pull $NEXUS_DOCKER_REPO/onap/policy-nexus:$DOCKER_IMAGE_VERSION
-docker tag $NEXUS_DOCKER_REPO/onap/policy-nexus:$DOCKER_IMAGE_VERSION onap/policy-nexus:latest
+#docker pull $NEXUS_DOCKER_REPO/onap/policy-nexus:$DOCKER_IMAGE_VERSION
+#docker tag $NEXUS_DOCKER_REPO/onap/policy-nexus:$DOCKER_IMAGE_VERSION onap/policy-nexus:latest
 
 /opt/docker/docker-compose up -d
index 05a9d78..b9f0856 100644 (file)
@@ -141,7 +141,7 @@ parameters:
   aai_sparky_docker: 1.2-STAGING-latest
   appc_docker: 1.3.0-SNAPSHOT-latest
   so_docker: 1.2.1
-  policy_docker: 1.2-STAGING-latest
+  policy_docker: 1.2.0
   portal_docker: 2.1-STAGING-latest
   robot_docker: 1.2-STAGING-latest
   sdc_docker: 1.2-STAGING-latest
@@ -159,6 +159,7 @@ parameters:
   oof_docker: latest
   aaf_docker: 2.1.0-SNAPSHOT
   nbi_docker: latest
+  dbcl_docker: latest
 
   dcae_docker:  1.1.2
   dcae_snmptrap_docker:  latest
@@ -214,7 +215,7 @@ parameters:
   #####################
   aai_repo: http://gerrit.onap.org/r/aai/test-config
   appc_repo: http://gerrit.onap.org/r/appc/deployment.git
-  mr_repo: http://gerrit.onap.org/r/dcae/demo/startup/message-router.git 
+  mr_repo: http://gerrit.onap.org/r/dmaap/messagerouter/messageservice.git 
   so_repo: http://gerrit.onap.org/r/so/docker-config.git
   policy_repo: http://gerrit.onap.org/r/policy/docker.git
   portal_repo: http://gerrit.onap.org/r/portal.git
@@ -227,4 +228,4 @@ parameters:
   music_repo: http://gerrit.onap.org/r/music.git
   nbi_repo: http://gerrit.onap.org/r/externalapi/nbi.git
   aaf_repo: http://gerrit.onap.org/r/aaf/authz.git
-  oof_repo: http://gerrit.onap.org/r/optf/has.git
\ No newline at end of file
+  oof_repo: http://gerrit.onap.org/r/optf/has.git
index 51495ce..a63ff1a 100644 (file)
@@ -426,6 +426,8 @@ parameters:
     type: string
   nbi_docker:
     type: string
+  dbcl_docker:
+    type: string
 
   vfc_nokia_docker:
     type: string
@@ -952,6 +954,7 @@ resources:
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
             __mr_repo__: { get_param: mr_repo }
+            __dbcl_docker__: { get_param: dbcl_docker }
           template: |
             #!/bin/bash
 
@@ -967,6 +970,7 @@ resources:
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
             echo "__mr_repo__" > /opt/config/remote_repo.txt
+            echo "__dbcl_docker__" > /opt/config/docker_version.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/mr_install.sh -o /opt/mr_install.sh
@@ -2148,6 +2152,7 @@ resources:
             __external_dns__: { get_param: external_dns }
             __aaf_repo__: { get_param: aaf_repo }
             __gerrit_branch__: { get_param: aaf_branch }
+            __local_ip__: { get_param: aaf_ip_addr }
           template: |
             #!/bin/bash
 
@@ -2164,6 +2169,7 @@ resources:
             echo "__external_dns__" > /opt/config/external_dns.txt
             echo "__aaf_repo__" > /opt/config/remote_repo.txt
             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
+            echo "__local_ip__" > /opt/config/local_ip.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aaf_install.sh -o /opt/aaf_install.sh
index dc0db55..f72f3d5 100644 (file)
@@ -351,6 +351,8 @@ parameters:
     type: string
   nbi_docker:
     type: string
+  dbcl_docker:
+    type: string
 
   vfc_nokia_docker:
     type: string
@@ -873,6 +875,7 @@ resources:
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
             __mr_repo__: { get_param: mr_repo }
+            __dbcl_docker__: { get_param: dbcl_docker }
           template: |
             #!/bin/bash
 
@@ -888,6 +891,7 @@ resources:
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
             echo "__mr_repo__" > /opt/config/remote_repo.txt
+            echo "__dbcl_docker__" > /opt/config/docker_version.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/mr_install.sh -o /opt/mr_install.sh
@@ -2026,6 +2030,7 @@ resources:
             __external_dns__: { get_param: external_dns }
             __aaf_repo__: { get_param: aaf_repo }
             __gerrit_branch__: { get_param: aaf_branch }
+            __local_ip__: { get_param: aaf_ip_addr }
           template: |
             #!/bin/bash
 
@@ -2042,6 +2047,7 @@ resources:
             echo "__external_dns__" > /opt/config/external_dns.txt
             echo "__aaf_repo__" > /opt/config/remote_repo.txt
             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
+            echo "__local_ip__" > /opt/config/local_ip.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aaf_install.sh -o /opt/aaf_install.sh
index 1b3cd2e..6304601 100644 (file)
@@ -159,6 +159,7 @@ parameters:
   oof_docker: ${OOF_DOCKER}
   aaf_docker: ${AAF_DOCKER}
   nbi_docker: ${NBI_DOCKER}
+  dbcl_docker: ${DBCL_DOCKER}
 
   dcae_docker:  ${BOOTSTRAP_DOCKER}
   dcae_snmptrap_docker:  ${SNMPTRAP_DOCKER}
@@ -214,7 +215,7 @@ parameters:
   #####################
   aai_repo: http://gerrit.onap.org/r/aai/test-config
   appc_repo: http://gerrit.onap.org/r/appc/deployment.git
-  mr_repo: http://gerrit.onap.org/r/dcae/demo/startup/message-router.git 
+  mr_repo: http://gerrit.onap.org/r/dmaap/messagerouter/messageservice.git 
   so_repo: http://gerrit.onap.org/r/so/docker-config.git
   policy_repo: http://gerrit.onap.org/r/policy/docker.git
   portal_repo: http://gerrit.onap.org/r/portal.git
index 5c05993..b483b1f 100644 (file)
@@ -703,6 +703,37 @@ typedef struct event_measurement {
 
 } EVENT_MEASUREMENT;
 
+
+
+/**************************************************************************//**
+ * Add an additional value name/value pair to the Measurement.
+ *
+ * The name and value are null delimited ASCII strings.  The library takes
+ * a copy so the caller does not have to preserve values after the function
+ * returns.
+ *
+ * @param measurement     Pointer to the measurement.
+ * @param name      ASCIIZ string with the attribute's name.  The caller
+ *                  does not need to preserve the value once the function
+ *                  returns.
+ * @param value     ASCIIZ string with the attribute's value.  The caller
+ *                  does not need to preserve the value once the function
+ *                  returns.
+ *****************************************************************************/
+void evel_measurement_addl_info_add(EVENT_MEASUREMENT * measurement, char * name, char * value);
+
+/**************************************************************************//**
+ * Add a json object to jsonObject list.
+ *
+ * The name and value are null delimited ASCII strings.  The library takes
+ * a copy so the caller does not have to preserve values after the function
+ * returns.
+ *
+ * @param measurement     Pointer to the ScalingMeasurement
+ * @param jsonobj   Pointer to json object
+ *****************************************************************************/
+void evel_measurement_addl_object_add(EVENT_MEASUREMENT * measurement, EVEL_JSON_OBJECT *jsonobj);
+
 /**************************************************************************//**
  * CPU Usage.
  * JSON equivalent field: cpuUsage
index 4f788bd..8bf2b70 100644 (file)
@@ -321,7 +321,7 @@ void evel_jsonobject_add_jsoninstance(EVEL_JSON_OBJECT * pobj, EVEL_JSON_OBJECT_
   assert(pobj != NULL);
   assert(jinst != NULL);
 
-  EVEL_DEBUG("Adding json object instance");
+  EVEL_DEBUG("Adding json object instance %p",jinst);
 
   dlist_push_last(&pobj->jsonobjectinstances, jinst);
 
@@ -375,6 +375,7 @@ void evel_free_internal_key(EVEL_INTERNAL_KEY * keyp)
 
   free(keyp->keyname);
   evel_free_option_string(&keyp->keyvalue);
+  free(keyp);
   EVEL_EXIT();
 }
 
@@ -407,6 +408,7 @@ void evel_free_jsonobjinst(EVEL_JSON_OBJECT_INSTANCE * objinst)
     evel_free_internal_key(other_field);
     other_field = dlist_pop_last(&objinst->object_keys);
   }
+  free(objinst);
 
   EVEL_EXIT();
 }
@@ -425,6 +427,7 @@ void evel_free_jsonobject(EVEL_JSON_OBJECT * jsobj)
   EVEL_ENTER();
   assert(jsobj != NULL);
 
+  EVEL_DEBUG("Freeing Json Object (%s)", jsobj->object_name);
   free(jsobj->object_name);
   evel_free_option_string(&jsobj->objectschema);
   evel_free_option_string(&jsobj->objectschemaurl);
@@ -437,11 +440,12 @@ void evel_free_jsonobject(EVEL_JSON_OBJECT * jsobj)
   other_field = dlist_pop_last(&jsobj->jsonobjectinstances);
   while (other_field != NULL)
   {
-    EVEL_DEBUG("Freeing Object Instance Field (%s)",
-               other_field->jsonstring);
+    EVEL_DEBUG("Freeing jsonObject Instance Field %p (%s)",
+               other_field,other_field->jsonstring);
     evel_free_jsonobjinst(other_field);
     other_field = dlist_pop_last(&jsobj->jsonobjectinstances);
   }
+  free(jsobj);
 
   EVEL_EXIT();
 }
index b238e38..360f5b9 100644 (file)
@@ -200,7 +200,6 @@ void evel_other_field_add_namedarray(EVENT_OTHER * other, const char *hashname,
  *****************************************************************************/
 void evel_other_field_add_jsonobj(EVENT_OTHER * other, EVEL_JSON_OBJECT *jsonobj)
 {
-  OTHER_FIELD * other_field = NULL;
   EVEL_ENTER();
 
   /***************************************************************************/
@@ -471,6 +470,8 @@ void evel_json_encode_other(EVEL_JSON_BUFFER * jbuf,
 void evel_free_other(EVENT_OTHER * event)
 {
   OTHER_FIELD * other_field = NULL;
+  EVEL_JSON_OBJECT * jsonobjp = NULL;
+  DLIST_ITEM * other_field_item = NULL;
 
   EVEL_ENTER();
 
@@ -495,6 +496,15 @@ void evel_free_other(EVENT_OTHER * event)
     free(other_field);
     other_field = dlist_pop_last(&event->namedvalues);
   }
+
+  jsonobjp = dlist_pop_last(&event->jsonobjects);
+  while (jsonobjp != NULL)
+  {
+    evel_free_jsonobject( jsonobjp );
+
+    jsonobjp = dlist_pop_last(&event->jsonobjects);
+  }
+
   evel_free_header(&event->header);
 
   EVEL_EXIT();
index d484b2e..84d2564 100644 (file)
@@ -169,6 +169,35 @@ void evel_measurement_addl_info_add(EVENT_MEASUREMENT * measurement, char * name
   EVEL_EXIT();
 }
 
+/**************************************************************************//**
+ * Add a json object to jsonObject list.
+ *
+ * The name and value are null delimited ASCII strings.  The library takes
+ * a copy so the caller does not have to preserve values after the function
+ * returns.
+ *
+ * @param measurement     Pointer to the ScalingMeasurement
+ * @param jsonobj   Pointer to json object
+ *****************************************************************************/
+void evel_measurement_addl_object_add(EVENT_MEASUREMENT * measurement, EVEL_JSON_OBJECT *jsonobj)
+{
+  EVEL_ENTER();
+
+  /***************************************************************************/
+  /* Check preconditions.                                                    */
+  /***************************************************************************/
+  assert(measurement != NULL);
+  assert(measurement->header.event_domain == EVEL_DOMAIN_MEASUREMENT);
+  assert(jsonobj != NULL);
+
+  EVEL_DEBUG("Adding jsonObject %p",jsonobj);
+
+  dlist_push_last(&measurement->additional_objects, jsonobj);
+
+  EVEL_EXIT();
+}
+
+
 /**************************************************************************//**
  * Set the Concurrent Sessions property of the Measurement.
  *
@@ -2820,17 +2849,17 @@ void evel_vnic_performance_tx_total_pkt_delta_set(MEASUREMENT_VNIC_PERFORMANCE *
  * @param tx_ucast_packets_acc
  *****************************************************************************/
 void evel_vnic_performance_tx_ucast_pkt_acc_set(MEASUREMENT_VNIC_PERFORMANCE * const vnic_performance,
-                                    const double tx_ucast_packets_acc)
+                                    const double mtx_ucast_packets_acc)
 {
   EVEL_ENTER();
 
   /***************************************************************************/
   /* Check preconditions.                                                    */
   /***************************************************************************/
-  assert(tx_ucast_packets_acc >= 0.0);
+  assert(mtx_ucast_packets_acc >= 0.0);
 
   evel_set_option_double(&vnic_performance->tx_ucast_packets_acc,
-                      tx_ucast_packets_acc,
+                      mtx_ucast_packets_acc,
                       "Transmitted Unicast Packets accumulated");
 
   EVEL_EXIT();
@@ -3023,6 +3052,13 @@ void evel_json_encode_measurement(EVEL_JSON_BUFFER * jbuf,
   DLIST_ITEM * nested_item = NULL;
   DLIST_ITEM * addl_info_item = NULL;
   OTHER_FIELD *addl_info = NULL;
+  DLIST_ITEM * other_field_item = NULL;
+  EVEL_JSON_OBJECT_INSTANCE * jsonobjinst = NULL;
+  EVEL_JSON_OBJECT * jsonobjp = NULL;
+  DLIST_ITEM * jsobj_field_item = NULL;
+  EVEL_INTERNAL_KEY * keyinst = NULL;
+  DLIST_ITEM * keyinst_field_item = NULL;
+
 
   EVEL_ENTER();
 
@@ -3078,6 +3114,92 @@ void evel_json_encode_measurement(EVEL_JSON_BUFFER * jbuf,
     }
   }
 
+
+  evel_json_checkpoint(jbuf);
+  if(evel_json_open_opt_named_list(jbuf, "additionalObjects"))
+  {
+  bool item_added = false;
+  other_field_item = dlist_get_first(&event->additional_objects);
+  while (other_field_item != NULL)
+  {
+    jsonobjp = (EVEL_JSON_OBJECT *) other_field_item->item;
+    if(jsonobjp != NULL)
+    {
+     evel_json_open_object(jbuf);
+
+       if( evel_json_open_opt_named_list(jbuf, "objectInstances"))
+       {
+        bool item_added2 = false;
+        jsobj_field_item = dlist_get_first(&jsonobjp->jsonobjectinstances);
+        while (jsobj_field_item != NULL)
+        {
+           jsonobjinst = (EVEL_JSON_OBJECT_INSTANCE *) jsobj_field_item->item;
+           if( jsonobjinst != NULL )
+           {
+              evel_json_open_object(jbuf);
+              evel_enc_kv_object(jbuf, "objectInstance", jsonobjinst->jsonstring);
+              evel_enc_kv_ull(jbuf, "objectInstanceEpochMicrosec", jsonobjinst->objinst_epoch_microsec);
+  //evel_json_checkpoint(jbuf);
+  if (evel_json_open_opt_named_list(jbuf, "objectKeys"))
+  {
+    bool item_added3 = false;
+
+    keyinst_field_item = dlist_get_first(&jsonobjinst->object_keys);
+    while (keyinst_field_item != NULL)
+    {
+      keyinst = (EVEL_INTERNAL_KEY *)keyinst_field_item->item;
+      if(keyinst != NULL)
+      {
+        evel_json_open_object(jbuf);
+        evel_enc_kv_string(jbuf, "keyName", keyinst->keyname);
+        evel_enc_kv_opt_int(jbuf, "keyOrder", &keyinst->keyorder);
+        evel_enc_kv_opt_string(jbuf, "keyValue", &keyinst->keyvalue);
+        evel_json_close_object(jbuf);
+        item_added3 = true;
+      }
+      keyinst_field_item = dlist_get_next(keyinst_field_item);
+    }
+    evel_json_close_list(jbuf);
+
+    /*************************************************************************/
+    /* If we've not written anything, rewind to before we opened the list.   */
+    /*************************************************************************/
+    //if (!item_added3)
+    //{
+    //  evel_json_rewind(jbuf);
+    //}
+  }
+               evel_json_close_object(jbuf);
+            }
+            item_added2 = true;
+            jsobj_field_item = dlist_get_next(jsobj_field_item);
+        }
+        evel_json_close_list(jbuf);
+        if( !item_added2 )
+        {
+          evel_json_rewind(jbuf);
+        }
+       }
+
+    evel_enc_kv_string(jbuf, "objectName", jsonobjp->object_name);
+    evel_enc_kv_opt_string(jbuf, "objectSchema", &jsonobjp->objectschema);
+    evel_enc_kv_opt_string(jbuf, "objectSchemaUrl", &jsonobjp->objectschemaurl);
+    evel_enc_kv_opt_string(jbuf, "nfSubscribedObjectName", &jsonobjp->nfsubscribedobjname);
+    evel_enc_kv_opt_string(jbuf, "nfSubscriptionId", &jsonobjp->nfsubscriptionid);
+    evel_json_close_object(jbuf);
+    item_added = true;
+  }
+  other_field_item = dlist_get_next(other_field_item);
+  }
+  evel_json_close_list(jbuf);
+
+  if (!item_added)
+  {
+     evel_json_rewind(jbuf);
+  }
+  }
+
+
   // TBD additional json objects
   evel_enc_kv_opt_int(jbuf, "concurrentSessions", &event->concurrent_sessions);
   evel_enc_kv_opt_int(jbuf, "configuredEntities", &event->configured_entities);
@@ -3607,6 +3729,7 @@ void evel_free_measurement(EVENT_MEASUREMENT * event)
   MEASUREMENT_GROUP * measurement_group = NULL;
   CUSTOM_MEASUREMENT * measurement = NULL;
   OTHER_FIELD *addl_info = NULL;
+  EVEL_JSON_OBJECT * jsonobjp = NULL;
 
   EVEL_ENTER();
 
@@ -3632,7 +3755,13 @@ void evel_free_measurement(EVENT_MEASUREMENT * event)
     addl_info = dlist_pop_last(&event->additional_info);
   }
 
-
+  jsonobjp = dlist_pop_last(&event->additional_objects);
+  while (jsonobjp != NULL)
+  {
+    EVEL_DEBUG("Freeing jsonObject %p",jsonobjp);
+    evel_free_jsonobject( jsonobjp );
+    jsonobjp = dlist_pop_last(&event->additional_objects);
+  }
 
   cpu_use = dlist_pop_last(&event->cpu_usage);
   while (cpu_use != NULL)