summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLusheng Ji <lji@research.att.com>2018-09-18 18:39:40 -0400
committerLusheng Ji <lji@research.att.com>2018-09-18 18:43:44 -0400
commit500dfc1d5c65c2566a2988b90239556808600b64 (patch)
tree8e2b5695d0ab9b031ca7be8ac87d685bd7881d07
parent164d883342daf2ce8d4392a26e21678107a3826a (diff)
Update Heat deployment for R3
Issue-ID: DCAEGEN2-772 Change-Id: I3c1d748f9b85017c10d1f6476a9eefd8b3e6e80c Signed-off-by: Lusheng Ji <lji@research.att.com>
-rw-r--r--heat/docker-compose-1.yaml2
-rw-r--r--heat/docker-compose-2.yaml8
-rw-r--r--heat/docker-compose-4.yaml126
-rwxr-xr-xheat/pullall.sh31
-rwxr-xr-xheat/register.sh175
5 files changed, 262 insertions, 80 deletions
diff --git a/heat/docker-compose-1.yaml b/heat/docker-compose-1.yaml
index b8a04d1..edc6bba 100644
--- a/heat/docker-compose-1.yaml
+++ b/heat/docker-compose-1.yaml
@@ -51,7 +51,7 @@ services:
config-binding-service:
- image: "{{ nexus_docker_repo}}/onap/org.onap.dcaegen2.platform.configbinding:{{ dcae_docker_cbs }}"
+ image: "{{ nexus_docker_repo }}/onap/org.onap.dcaegen2.platform.configbinding.app-app:{{ dcae_docker_cbs }}"
container_name: "config_binding_service"
restart: "always"
hostname: "config-binding-service"
diff --git a/heat/docker-compose-2.yaml b/heat/docker-compose-2.yaml
index 1666caf..317aec4 100644
--- a/heat/docker-compose-2.yaml
+++ b/heat/docker-compose-2.yaml
@@ -2,7 +2,7 @@ version: '2.1'
services:
mvp-dcaegen2-collectors-ves:
- image: "{{ nexus_docker_repo}}/onap/org.onap.dcaegen2.collectors.ves.vescollector:{{ dcae_docker_ves }}"
+ image: "{{ nexus_docker_repo }}/onap/org.onap.dcaegen2.collectors.ves.vescollector:{{ dcae_docker_ves }}"
container_name: "mvp-dcaegen2-collectors-ves"
restart: "always"
hostname: "mvp-dcaegen2-collectors-ves"
@@ -23,7 +23,7 @@ services:
mvp-dcaegen2-analytics-tca:
- image: "{{ nexus_docker_repo}}/onap/org.onap.dcaegen2.deployments.tca-cdap-container:{{ dcae_docker_tca }}"
+ image: "{{ nexus_docker_repo }}/onap/org.onap.dcaegen2.deployments.tca-cdap-container:{{ dcae_docker_tca }}"
container_name: "mvp-dcaegen2-analytics-tca"
restart: "always"
hostname: "mvp-dcaegen2-analytics-tca"
@@ -53,7 +53,7 @@ services:
- "SERVICE_11011_CHECK_INITIAL_STATUS=passing"
mvp-dcaegen2-analytics-holmes-engine-management:
- image: "{{ nexus_docker_repo}}/onap/holmes/engine-management:{{ holmes_docker_em }}"
+ image: "{{ nexus_docker_repo }}/onap/holmes/engine-management:{{ holmes_docker_em }}"
container_name: "mvp-dcaegen2-analytics-holmes-engine-management"
restart: "always"
hostname: "mvp-dcaegen2-analytics-holmes-engine-management"
@@ -72,7 +72,7 @@ services:
- "SERVICE_9102_IGNORE=true"
mvp-dcaegen2-analytics-holmes-rule-management:
- image: "{{ nexus_docker_repo}}/onap/holmes/rule-management:{{ holmes_docker_rm }}"
+ image: "{{ nexus_docker_repo }}/onap/holmes/rule-management:{{ holmes_docker_rm }}"
container_name: "mvp-dcaegen2-analytics-holmes-rule-management"
restart: "always"
hostname: "mvp-dcaegen2-analytics-holmes-rule-management"
diff --git a/heat/docker-compose-4.yaml b/heat/docker-compose-4.yaml
index 2aa0a3e..f284f29 100644
--- a/heat/docker-compose-4.yaml
+++ b/heat/docker-compose-4.yaml
@@ -1,7 +1,7 @@
version: '2.1'
services:
snmptrap:
- image: "{{ nexus_docker_repo}}/onap/org.onap.dcaegen2.collectors.snmptrap:{{ dcae_docker_snmptrap }}"
+ image: "{{ nexus_docker_repo }}/onap/org.onap.dcaegen2.collectors.snmptrap:{{ dcae_docker_snmptrap }}"
container_name: "static-dcaegen2-collectors-snmptrap"
restart: "always"
hostname: "static-dcaegen2-collectors-snmptrap"
@@ -17,7 +17,129 @@ services:
- "162:6162/udp"
labels:
- "SERVICE_NAME=static-dcaegen2-collectors-snmptrap"
- - "SERVICE_CHECK_DOCKER_SCRIPT=/opt/app/snmptrap/bin/healthcheck.sh"
+ - "SERVICE_CHECK_DOCKER_SCRIPT=/opt/app/snmptrap/bin/snmptrapd.sh status"
+ - "SERVICE_CHECK_INTERVAL=300s"
+ - "SERVICE_CHECK_INITIAL_STATUS=passing"
+
+
+ prh:
+ image: "{{ nexus_docker_repo }}/onap/org.onap.dcaegen2.services.prh.prh-app-server:{{ dcae_docker_prh }}"
+ container_name: "static-dcaegen2-services-prh"
+ restart: "always"
+ hostname: "static-dcaegen2-services-prh"
+ environment:
+ - "DMAAPHOST={{ mr_ip_addr }}"
+ - "CONSUL_HOST=consul"
+ - "CONSUL_PORT=8500"
+ - "CONFIG_BINDING_SERVICE=config_binding_service"
+ - "SERVICE_NAME=static-dcaegen2-services-prh"
+ - "HOSTNAME=static-dcaegen2-services-prh"
+ - "HOSTALIASES=/etc/host.aliases"
+ ports:
+ - "8082:8080"
+ labels:
+ - "SERVICE_8082_NAME=static-dcaegen2-services-prh"
+ - "SERVICE_8082_CHECK_HTTP=/heartbeat"
+ - "SERVICE_8082_CHECK_INTERVAL=15s"
+ - "SERVICE_8082_CHECK_INITIAL_STATUS=passing"
+
+
+ hvves:
+ image: "{{ nexus_docker_repo }}/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:{{ dcae_docker_hvves }}"
+ container_name: "static-dcaegen2-collectors-hvves"
+ restart: "always"
+ hostname: "static-dcaegen2-collectors-hvves"
+ environment:
+ - "DMAAPHOST={{ mr_ip_addr }}"
+ - "CONSUL_HOST=consul"
+ - "CONSUL_PORT=8500"
+ - "CONFIG_BINDING_SERVICE=config_binding_service"
+ - "SERVICE_NAME=static-dcaegen2-collectors-hvves"
+ - "HOSTNAME=static-dcaegen2-collectors-hvves"
+ - "HOSTALIASES=/etc/host.aliases"
+ ports:
+ - "6061:6061"
+ labels:
+ - "SERVICE_NAME=static-dcaegen2-collectors-hvves"
+ - "SERVICE_CHECK_DOCKER_SCRIPT=/opt/app/hvves/bin/healthcheck.sh"
+ - "SERVICE_CHECK_INTERVAL=15s"
+ - "SERVICE_CHECK_INITIAL_STATUS=passing"
+
+
+ datafile:
+ image: "{{ nexus_docker_repo }}/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:{{ dcae_docker_datafile }}"
+ container_name: "static-dcaegen2-collectors-datafile"
+ restart: "always"
+ hostname: "static-dcaegen2-collectors-datafile"
+ environment:
+ - "DMAAPHOST={{ mr_ip_addr }}"
+ - "CONSUL_HOST=consul"
+ - "CONSUL_PORT=8500"
+ - "CONFIG_BINDING_SERVICE=config_binding_service"
+ - "SERVICE_NAME=static-dcaegen2-collectors-datafile"
+ - "HOSTNAME=static-dcaegen2-collectors-datafile"
+ - "HOSTALIASES=/etc/host.aliases"
+ labels:
+ - "SERVICE_NAME=static-dcaegen2-collectors-datafile"
+ - "SERVICE_CHECK_DOCKER_SCRIPT=/opt/app/datafile/bin/healthcheck.sh"
+ - "SERVICE_CHECK_INTERVAL=15s"
+ - "SERVICE_CHECK_INITIAL_STATUS=passing"
+
+ mapper-universalvesadaptor:
+ image: "{{ nexus_docker_repo }}/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:{{ dcae_docker_mua }}"
+ container_name: "static-dcaegen2-services-mua"
+ restart: "always"
+ hostname: "static-dcaegen2-services-mua"
+ environment:
+ - "DMAAPHOST={{ mr_ip_addr }}"
+ - "CONSUL_HOST=consul"
+ - "CONSUL_PORT=8500"
+ - "CONFIG_BINDING_SERVICE=config_binding_service"
+ - "SERVICE_NAME=static-dcaegen2-services-mua"
+ - "HOSTNAME=static-dcaegen2-services-mua"
+ - "HOSTALIASES=/etc/host.aliases"
+ labels:
+ - "SERVICE_NAME=static-dcaegen2-services-mua"
+ - "SERVICE_CHECK_DOCKER_SCRIPT=/opt/app/datafile/bin/healthcheck.sh"
+ - "SERVICE_CHECK_INTERVAL=15s"
+ - "SERVICE_CHECK_INITIAL_STATUS=passing"
+
+ mapper-snmp:
+ image: "{{ nexus_docker_repo }}/onap/org.onap.dcaegen2.services.mapper.vesadapter.snmpmapper:{{ dcae_docker_msnmp }}"
+ container_name: "static-dcaegen2-services-msnmp"
+ restart: "always"
+ hostname: "static-dcaegen2-services-msnmp"
+ environment:
+ - "DMAAPHOST={{ mr_ip_addr }}"
+ - "CONSUL_HOST=consul"
+ - "CONSUL_PORT=8500"
+ - "CONFIG_BINDING_SERVICE=config_binding_service"
+ - "SERVICE_NAME=static-dcaegen2-services-msnmp"
+ - "HOSTNAME=static-dcaegen2-services-msnmp"
+ - "HOSTALIASES=/etc/host.aliases"
+ labels:
+ - "SERVICE_NAME=static-dcaegen2-services-msnmp"
+ - "SERVICE_CHECK_DOCKER_SCRIPT=/opt/app/datafile/bin/healthcheck.sh"
- "SERVICE_CHECK_INTERVAL=15s"
- "SERVICE_CHECK_INITIAL_STATUS=passing"
+
+ heartbeat:
+ image: "{{ nexus_docker_repo }}/onap/org.onap.dcaegen2.services.heartbeat:{{ dcae_docker_heartbeat }}"
+ container_name: "static-dcaegen2-services-heartbeat"
+ restart: "always"
+ hostname: "static-dcaegen2-services-heartbeat"
+ environment:
+ - "DMAAPHOST={{ mr_ip_addr }}"
+ - "CONSUL_HOST=consul"
+ - "CONSUL_PORT=8500"
+ - "CONFIG_BINDING_SERVICE=config_binding_service"
+ - "SERVICE_NAME=static-dcaegen2-services-heartbeat"
+ - "HOSTNAME=static-dcaegen2-services-heartbeat"
+ - "HOSTALIASES=/etc/host.aliases"
+ labels:
+ - "SERVICE_NAME=static-dcaegen2-services-heartbeat"
+ - "SERVICE_CHECK_DOCKER_SCRIPT=/opt/app/datafile/bin/healthcheck.sh"
+ - "SERVICE_CHECK_INTERVAL=15s"
+ - "SERVICE_CHECK_INITIAL_STATUS=passing"
+
diff --git a/heat/pullall.sh b/heat/pullall.sh
index b8dba3e..42ee1ad 100755
--- a/heat/pullall.sh
+++ b/heat/pullall.sh
@@ -16,22 +16,25 @@
#
#############################################################################
-docker login nexus3.onap.org:10001 -u docker -p docker
+docker login {{ nexus_docker_repo }} -u {{ nexus_username }} -p {{ nexus_password }}
docker pull postgres:9.5
docker pull consul:0.8.3
docker pull nginx:latest
docker pull onapdcae/registrator:v7
-docker pull nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding:latest
-docker pull nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:latest
-docker pull nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:latest
-docker pull nexus3.onap.org:10001/onap/holmes/engine-management:latest
-docker pull nexus3.onap.org:10001/onap/holmes/rule-management:latest
-docker pull nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.cm-container:latest
-docker pull nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.deployment-handler:latest
-docker pull nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.policy-handler:latest
-docker pull nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.servicechange-handler:latest
-docker pull nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.inventory-api:latest
-docker pull nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.heartbeat:latest
-docker pull nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:latest
-docker pull nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap:latest
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.platform.configbinding.app-app:{{ dcae_docker_cbs }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.collectors.ves.vescollector:{{ dcae_docker_ves }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.deployments.tca-cdap-container:{{ dcae_docker_tca }}
+docker pull {{ nexus_docker_repo }}/onap/holmes/engine-management:{{ holmes_docker_em }}
+docker pull {{ nexus_docker_repo }}/onap/holmes/rule-management:{{ holmes_docker_rm }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.platform.inventory-api:{{ dcae_docker_inv }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.platform.servicechange-handler:{{ dcae_docker_sch }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.platform.deployment-handler:{{ dcae_docker_dh }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.platform.policy-handler:{{ dcae_docker_ph }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.collectors.snmptrap:{{ dcae_docker_snmptrap }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.services.prh.prh-app-server:{{ dcae_docker_prh }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:{{ dcae_docker_hvves }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:{{ dcae_docker_datafile }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:{{ dcae_docker_mua }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.services.mapper.vesadapter.snmpmapper:{{ dcae_docker_msnmp }}
+docker pull {{ nexus_docker_repo }}/onap/org.onap.dcaegen2.services.heartbeat:{{ dcae_docker_heartbeat }}
diff --git a/heat/register.sh b/heat/register.sh
index 4455046..c40a948 100755
--- a/heat/register.sh
+++ b/heat/register.sh
@@ -28,7 +28,7 @@ SRVCNAME_CM="cloudify_manager"
HOSTNAME_CBS="config-binding-service"
SRVCNAME_CBS="config_binding_service"
-# R2 MVP service components
+# R3 MVP service components
HOSTNAME_MVP_VES="mvp-dcaegen2-collectors-ves"
SRVCNAME_MVP_VES="mvp-dcaegen2-collectors-ves"
HOSTNAME_MVP_TCA="mvp-dcaegen2-analytics-tca"
@@ -38,7 +38,7 @@ SRVCNAME_MVP_HR="mvp-dcaegen2-analytics-holmes-rule-management"
HOSTNAME_MVP_HE="mvp-dcaegen2-analytics-holmes-engine-management"
SRVCNAME_MVP_HE="mvp-dcaegen2-analytics-holmes-engine-management"
-# R2 PLUS service components
+# R3 PLUS service components
HOSTNAME_STATIC_SNMPTRAP="static-dcaegen2-collectors-snmptrap"
SRVCNAME_STATIC_SNMPTRAP="static-dcaegen2-collectors-snmptrap"
HOSTNAME_STATIC_MAPPER="static-dcaegen2-services-mapper"
@@ -47,6 +47,10 @@ HOSTNAME_STATIC_HEARTBEAT="static-dcaegen2-services-heartbeat"
SRVCNAME_STATIC_HEARTBEAT="static-dcaegen2-services-heartbeat"
HOSTNAME_STATIC_PRH="static-dcaegen2-services-prh"
SRVCNAME_STATIC_PRH="static-dcaegen2-services-prh"
+HOSTNAME_STATIC_HVVES="static-dcaegen2-collectors-hvves"
+SRVCNAME_STATIC_HVVES="static-dcaegen2-collectors-hvves"
+HOSTNAME_STATIC_DF="static-dcaegen2-collectors-df"
+SRVCNAME_STATIC_DF="static-dcaegen2-collectors-df"
# registering docker host
@@ -434,65 +438,118 @@ curl -v -X PUT -H "Content-Type: application/json" \
# SNMP Trap Collector
+SERVICENAME="${SRVCNAME_STATIC_SNMPTRAP}
REGKV='{
-"snmptrap.version": "1.3.0",
-"snmptrap.title": "ONAP SNMP Trap Receiver" ,
-"protocols.transport": "udp",
-"protocols.ipv4_interface": "0.0.0.0",
-"protocols.ipv4_port": 6162,
-"protocols.ipv6_interface": "::1",
-"protocols.ipv6_port": 6162,
-"cache.dns_cache_ttl_seconds": 60,
-"publisher.http_timeout_milliseconds": 1500,
-"publisher.http_retries": 3,
-"publisher.http_milliseconds_between_retries": 750,
-"publisher.http_primary_publisher": "true",
-"publisher.http_peer_publisher": "unavailable",
-"publisher.max_traps_between_publishes": 10,
-"publisher.max_milliseconds_between_publishes": 10000,
- "streams_publishes": {
- "sec_fault_unsecure": {
- "type": "message_router",
- "aaf_password": null,
- "dmaap_info": {
- "location": "mtl5",
- "client_id": null,
- "client_role": null,
- "topic_url": "http://{{ mr_ip_addr }}:3904/events/ONAP-COLLECTOR-SNMPTRAP"
- },
- "aaf_username": null
- }
- },
-"files.runtime_base_dir": "/opt/app/snmptrap",
-"files.log_dir": "logs",
-"files.data_dir": "data",
-"files.pid_dir": "tmp",
-"files.arriving_traps_log": "snmptrapd_arriving_traps.log",
-"files.snmptrapd_diag": "snmptrapd_prog_diag.log",
-"files.traps_stats_log": "snmptrapd_stats.csv",
-"files.perm_status_file": "snmptrapd_status.log",
-"files.eelf_base_dir": "/opt/app/snmptrap/logs",
-"files.eelf_error": "error.log",
-"files.eelf_debug": "debug.log",
-"files.eelf_audit": "audit.log",
-"files.eelf_metrics": "metrics.log",
-"files.roll_frequency": "hour",
-"files.minimum_severity_to_log": 1,
-"trap_def.1.trap_oid" : ".1.3.6.1.4.1.74.2.46.12.1.1",
-"trap_def.1.trap_category": "ONAP-COLLECTOR-SNMPTRAP",
-"trap_def.2.trap_oid" : "*",
-"trap_def.2.trap_category": "ONAP-COLLECTOR-SNMPTRAP",
-"stormwatch.1.stormwatch_oid" : ".1.3.6.1.4.1.74.2.46.12.1.1",
-"stormwatch.1.low_water_rearm_per_minute" : "5",
-"stormwatch.1.high_water_arm_per_minute" : "100",
-"stormwatch.2.stormwatch_oid" : ".1.3.6.1.4.1.74.2.46.12.1.2",
-"stormwatch.2.low_water_rearm_per_minute" : "2",
-"stormwatch.2.high_water_arm_per_minute" : "200",
-"stormwatch.3.stormwatch_oid" : ".1.3.6.1.4.1.74.2.46.12.1.2",
-"stormwatch.3.low_water_rearm_per_minute" : "2",
-"stormwatch.3.high_water_arm_per_minute" : "200"
+ "files": {
+ "roll_frequency": "day",
+ "data_dir": "data",
+ "arriving_traps_log": "snmptrapd_arriving_traps.log",
+ "minimum_severity_to_log": 2,
+ "traps_stats_log": "snmptrapd_stats.csv",
+ "perm_status_file": "snmptrapd_status.log",
+ "pid_dir": "tmp",
+ "eelf_audit": "audit.log",
+ "log_dir": "logs",
+ "eelf_metrics": "metrics.log",
+ "eelf_base_dir": "/opt/app/snmptrap/logs",
+ "runtime_base_dir": "/opt/app/snmptrap",
+ "eelf_error": "error.log",
+ "eelf_debug": "debug.log",
+ "snmptrapd_diag": "snmptrapd_prog_diag.log"
+ },
+ "publisher": {
+ "http_milliseconds_between_retries": 750,
+ "max_milliseconds_between_publishes": 10000,
+ "max_traps_between_publishes": 10,
+ "http_retries": 3,
+ "http_primary_publisher": "true",
+ "http_milliseconds_timeout": 1500,
+ "http_peer_publisher": "unavailable"
+ },
+ "snmptrapd": {
+ "version": "1.4.0",
+ "title": "Collector for receiving SNMP traps and publishing to DMAAP/MR"
+ },
+ "cache": {
+ "dns_cache_ttl_seconds": 60
+ },
+ "sw_interval_in_seconds": 60,
+ "streams_publishes": {
+ "sec_fault_unsecure": {
+ "type": "message_router",
+ "dmaap_info": {
+ "topic_url": "http://{{ mr_ip_addr }}:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP"
+ }
+ }
+ },
+ "StormWatchPolicy": "",
+ "services_calls": {},
+ "protocols": {
+ "ipv4_interface": "0.0.0.0",
+ "ipv4_port": 6162,
+ "ipv6_interface": "::1",
+ "ipv6_port": 6162
+ }
}'
curl -v -X PUT -H "Content-Type: application/json" \
--data "${REGKV}" \
-"http://${HOSTNAME_CONSUL}:8500/v1/kv/${SRVCNAME_STATIC_SNMPTRAP}"
+"http://${HOSTNAME_CONSUL}:8500/v1/kv/${SERVICENAME}"
+
+
+# hv-ves collector
+SERVICENAME="${SRVCNAME_STATIC_HVVES}
+REGKV='{
+ "dmaap.kafkaBootstrapServers": "{{ mr_ip_addr }}:9092",
+ "collector.routing": {
+ "fromDomain": "HVMEAS",
+ "toTopic": "HV_VES_MEASUREMENTS"
+ }
+}'
+curl -v -X PUT -H "Content-Type: application/json" \
+--data "${REGKV}" \
+"http://${HOSTNAME_CONSUL}:8500/v1/kv/${SERVICENAME}"
+
+
+# data file collector
+SERVICENAME="${SRVCNAME_STATIC_DF}
+REGKV='{
+}'
+curl -v -X PUT -H "Content-Type: application/json" \
+--data "${REGKV}" \
+"http://${HOSTNAME_CONSUL}:8500/v1/kv/${SERVICENAME}"
+
+
+# PNF Registration Handler
+SERVICENAME="${SRVCNAME_STATIC_PRH}
+REGKV='{
+ "dmaap.dmaapProducerConfiguration.dmaapTopicName": "/events/unauthenticated.PNF_READY",
+ "dmaap.dmaapConsumerConfiguration.dmaapHostName": "{{ mr_ip_addr }}",
+ "aai.aaiClientConfiguration.aaiPnfPath": "/network/pnfs/pnf",
+ "aai.aaiClientConfiguration.aaiUserPassword": "AAI",
+ "dmaap.dmaapConsumerConfiguration.dmaapUserName": "admin",
+ "aai.aaiClientConfiguration.aaiBasePath": "/aai/v12",
+ "dmaap.dmaapConsumerConfiguration.timeoutMs": -1,
+ "dmaap.dmaapProducerConfiguration.dmaapPortNumber": 3904,
+ "aai.aaiClientConfiguration.aaiHost": "{{ aai_ip_addr }}",
+ "dmaap.dmaapConsumerConfiguration.dmaapUserPassword": "admin",
+ "dmaap.dmaapProducerConfiguration.dmaapProtocol": "http",
+ "aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors": true,
+ "dmaap.dmaapProducerConfiguration.dmaapContentType": "application/json",
+ "dmaap.dmaapConsumerConfiguration.dmaapTopicName": "/events/unauthenticated.VES_PNFREG_OUTPUT",
+ "dmaap.dmaapConsumerConfiguration.dmaapPortNumber": 3904,
+ "dmaap.dmaapConsumerConfiguration.dmaapContentType": "application/json",
+ "dmaap.dmaapConsumerConfiguration.messageLimit": -1,
+ "dmaap.dmaapConsumerConfiguration.dmaapProtocol": "http",
+ "aai.aaiClientConfiguration.aaiUserName": "AAI",
+ "dmaap.dmaapConsumerConfiguration.consumerId": "c12",
+ "dmaap.dmaapProducerConfiguration.dmaapHostName": "{{ mr_ip_addr }}",
+ "aai.aaiClientConfiguration.aaiHostPortNumber": 8443,
+ "dmaap.dmaapConsumerConfiguration.consumerGroup": "OpenDCAE-c12",
+ "aai.aaiClientConfiguration.aaiProtocol": "https",
+ "dmaap.dmaapProducerConfiguration.dmaapUserName": "admin",
+ "dmaap.dmaapProducerConfiguration.dmaapUserPassword": "admin"
+}'
+curl -v -X PUT -H "Content-Type: application/json" \
+--data "${REGKV}" \
+"http://${HOSTNAME_CONSUL}:8500/v1/kv/${SERVICENAME}"