summaryrefslogtreecommitdiffstats
path: root/kubernetes/config/docker/init/src/config/robot/robot/assets
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes/config/docker/init/src/config/robot/robot/assets')
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/.gitignore1
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/MANIFEST.json17
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.env4
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.yaml423
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/MANIFEST.json28
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.env4
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.yaml339
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.env4
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.yaml194
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/MANIFEST.json17
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.env3
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.yaml22
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/dcae/dcae_healthcheck.json5
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/keys/ecompdemo.pvt30
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.ppk26
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.pvt27
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.pub9
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.txt1
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/service_mappings.py29
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_customer.template25
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_demo_customer.template47
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_service_body.template6
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_tenant_body.template18
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/named_query.template17
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/service_subscription.template19
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/vlb_closed_loop_hack.template7
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/appc/vnf_mount.template16
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/action.template3
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_resource.template43
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_service.template34
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/entitlement_pool.template26
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/feature_group.template11
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/key_group.template11
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_agreement.template12
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_model.template5
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/resource_instance.template10
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/software_product.template16
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/user_remarks.template1
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/cinder_add_volume.template9
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/heat_add_stack.template12
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/keystone_get_auth.template9
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_network.template7
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_subnet.template8
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_keypair.template6
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_server.template17
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_configpolicy.template31
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_createpolicy.template21
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_deletepolicy.template5
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_getconfigpolicy.template8
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_opspolicy.template25
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_pushpolicy.template5
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/dnsscaling_preload.template92
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vfw_preload.template128
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vlb_preload.template104
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vvg_preload.template36
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/template_example.template6
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_stream_enable.template4
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_streams_enable.template7
-rw-r--r--kubernetes/config/docker/init/src/config/robot/robot/assets/templates/web/index.html.template116
59 files changed, 2166 insertions, 0 deletions
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/.gitignore b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/.gitignore
new file mode 100644
index 0000000000..abe251a768
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/.gitignore
@@ -0,0 +1 @@
+/temp \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/MANIFEST.json b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/MANIFEST.json
new file mode 100644
index 0000000000..a4e5cfd0ff
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/MANIFEST.json
@@ -0,0 +1,17 @@
+{
+ "name": "virtualFireWall",
+ "description": "robot ete manifest",
+ "data": [
+ {
+ "file": "base_vfw.yaml",
+ "type": "HEAT",
+ "isBase": "true",
+ "data": [
+ {
+ "file": "base_vfw.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.env b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.env
new file mode 100644
index 0000000000..a23f51a53b
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.env
@@ -0,0 +1,4 @@
+parameters:
+ vfw_image_name: UBUNTU_14_IMAGE_NAME_HERE
+ vfw_flavor_name: OPENSTACK_FLAVOUR_NAME_HERE
+ public_net_id: OPENSTACK_NETWORK_ID_WITH_INTERNET_HERE
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.yaml b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.yaml
new file mode 100644
index 0000000000..a7df854a8d
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vfw/base_vfw.yaml
@@ -0,0 +1,423 @@
+heat_template_version: 2013-05-23
+
+description: Heat template to deploy vFirewall demo app for OpenECOMP
+
+parameters:
+ vfw_image_name:
+ type: string
+ label: Image name or ID
+ description: Image to be used for compute instance
+ vfw_flavor_name:
+ type: string
+ label: Flavor
+ description: Type of instance (flavor) to be used
+ public_net_id:
+ type: string
+ label: Public network name or ID
+ description: Public network that enables remote connection to VNF
+ unprotected_private_net_id:
+ type: string
+ label: Unprotected private network name or ID
+ description: Private network that connects vPacketGenerator with vFirewall
+ protected_private_net_id:
+ type: string
+ label: Protected private network name or ID
+ description: Private network that connects vFirewall with vSink
+ ecomp_private_net_id:
+ type: string
+ label: ECOMP management network name or ID
+ description: Private network that connects ECOMP component and the VNF
+ ecomp_private_subnet_id:
+ type: string
+ label: ECOMP management sub-network name or ID
+ description: Private sub-network that connects ECOMP component and the VNF
+ unprotected_private_net_cidr:
+ type: string
+ label: Unprotected private network CIDR
+ description: The CIDR of the unprotected private network
+ protected_private_net_cidr:
+ type: string
+ label: Protected private network CIDR
+ description: The CIDR of the protected private network
+ ecomp_private_net_cidr:
+ type: string
+ label: ECOMP private network CIDR
+ description: The CIDR of the protected private network
+ vfw_private_ip_0:
+ type: string
+ label: vFirewall private IP address towards the unprotected network
+ description: Private IP address that is assigned to the vFirewall to communicate with the vPacketGenerator
+ vfw_private_ip_1:
+ type: string
+ label: vFirewall private IP address towards the protected network
+ description: Private IP address that is assigned to the vFirewall to communicate with the vSink
+ vfw_private_ip_2:
+ type: string
+ label: vFirewall private IP address towards the ECOMP management network
+ description: Private IP address that is assigned to the vFirewall to communicate with ECOMP components
+ vpg_private_ip_0:
+ type: string
+ label: vPacketGenerator private IP address towards the unprotected network
+ description: Private IP address that is assigned to the vPacketGenerator to communicate with the vFirewall
+ vpg_private_ip_1:
+ type: string
+ label: vPacketGenerator private IP address towards the ECOMP management network
+ description: Private IP address that is assigned to the vPacketGenerator to communicate with ECOMP components
+ vsn_private_ip_0:
+ type: string
+ label: vSink private IP address towards the protected network
+ description: Private IP address that is assigned to the vSink to communicate with the vFirewall
+ vsn_private_ip_1:
+ type: string
+ label: vSink private IP address towards the ECOMP management network
+ description: Private IP address that is assigned to the vSink to communicate with ECOMP components
+ vfw_name_0:
+ type: string
+ label: vFirewall name
+ description: Name of the vFirewall
+ vpg_name_0:
+ type: string
+ label: vPacketGenerator name
+ description: Name of the vPacketGenerator
+ vsn_name_0:
+ type: string
+ label: vSink name
+ description: Name of the vSink
+ vnf_id:
+ type: string
+ label: VNF ID
+ description: The VNF ID is provided by ECOMP
+ vf_module_id:
+ type: string
+ label: vFirewall module ID
+ description: The vFirewall Module ID is provided by ECOMP
+ dcae_collector_ip:
+ type: string
+ label: DCAE collector IP address
+ description: IP address of the DCAE collector
+ dcae_collector_port:
+ type: string
+ label: DCAE collector port
+ description: Port of the DCAE collector
+ key_name:
+ type: string
+ label: Key pair name
+ description: Public/Private key pair name
+ pub_key:
+ type: string
+ label: Public key
+ description: Public key to be installed on the compute instance
+ repo_url_blob:
+ type: string
+ label: Repository URL
+ description: URL of the repository that hosts the demo packages
+ repo_url_artifacts:
+ type: string
+ label: Repository URL
+ description: URL of the repository that hosts the demo packages
+ demo_artifacts_version:
+ type: string
+ label: Artifacts version used in demo vnfs
+ description: Artifacts (jar, tar.gz) version used in demo vnfs
+
+resources:
+
+ random-str:
+ type: OS::Heat::RandomString
+ properties:
+ length: 4
+
+ my_keypair:
+ type: OS::Nova::KeyPair
+ properties:
+ name:
+ str_replace:
+ template: base_rand
+ params:
+ base: { get_param: key_name }
+ rand: { get_resource: random-str }
+ public_key: { get_param: pub_key }
+ save_private_key: false
+
+ unprotected_private_network:
+ type: OS::Neutron::Net
+ properties:
+ name: { get_param: unprotected_private_net_id }
+
+ protected_private_network:
+ type: OS::Neutron::Net
+ properties:
+ name: { get_param: protected_private_net_id }
+
+ unprotected_private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: unprotected_private_network }
+ cidr: { get_param: unprotected_private_net_cidr }
+
+ protected_private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ network_id: { get_resource: protected_private_network }
+ cidr: { get_param: protected_private_net_cidr }
+
+ vfw_0:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: vfw_image_name }
+ flavor: { get_param: vfw_flavor_name }
+ name: { get_param: vfw_name_0 }
+ key_name: { get_resource: my_keypair }
+ networks:
+ - network: { get_param: public_net_id }
+ - port: { get_resource: vfw_private_0_port }
+ - port: { get_resource: vfw_private_1_port }
+ - port: { get_resource: vfw_private_2_port }
+ metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __dcae_collector_ip__ : { get_param: dcae_collector_ip }
+ __dcae_collector_port__ : { get_param: dcae_collector_port }
+ __repo_url_blob__ : { get_param: repo_url_blob }
+ __repo_url_artifacts__ : { get_param: repo_url_artifacts }
+ __demo_artifacts_version__ : { get_param: demo_artifacts_version }
+ template: |
+ #!/bin/bash
+
+ DCAE_COLLECTOR_IP=__dcae_collector_ip__
+ DCAE_COLLECTOR_PORT=__dcae_collector_port__
+ REPO_URL_BLOB=__repo_url_blob__
+ REPO_URL_ARTIFACTS=__repo_url_artifacts__
+ DEMO_ARTIFACTS_VERSION=__demo_artifacts_version__
+
+ # Download required dependencies
+ add-apt-repository -y ppa:openjdk-r/ppa
+ apt-get update
+ apt-get install -y make wget openjdk-8-jdk gcc libcurl4-openssl-dev python-pip bridge-utils apt-transport-https ca-certificates
+ apt-get install -y maven
+ pip install jsonschema
+
+ # Download vFirewall code for virtual firewall
+ mkdir /opt/config
+ mkdir /opt/honeycomb
+ cd /opt
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/v_firewall_init.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/vfirewall.sh
+
+ mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf:sample-distribution:$DEMO_ARTIFACTS_VERSION:tar.gz:hc -Dtransitive=false -Ddest=.
+ mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.ves:ves:$DEMO_ARTIFACTS_VERSION:tar.gz:demo -Dtransitive=false -Ddest=.
+ mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.ves:ves_vfw_reporting:$DEMO_ARTIFACTS_VERSION:tar.gz:demo -Dtransitive=false -Ddest=.
+
+
+ tar -zxvf ves-$DEMO_ARTIFACTS_VERSION-demo.tar.gz
+ mv ves-$DEMO_ARTIFACTS_VERSION VES
+ tar -zxvf ves_vfw_reporting-$DEMO_ARTIFACTS_VERSION-demo.tar.gz
+ mv ves_vfw_reporting-$DEMO_ARTIFACTS_VERSION VESreporting_vFW
+ tar -zxvf sample-distribution-$DEMO_ARTIFACTS_VERSION-hc.tar.gz
+ mv sample-distribution-$DEMO_ARTIFACTS_VERSION honeycomb
+ sed -i 's/"restconf-binding-address": "127.0.0.1",/"restconf-binding-address": "0.0.0.0",/g' honeycomb/sample-distribution-$DEMO_ARTIFACTS_VERSION/config/honeycomb.json
+ mv VESreporting_vFW /opt/VES/code/evel_training/VESreporting
+ rm *.tar.gz
+ chmod +x v_firewall_init.sh
+ chmod +x vfirewall.sh
+ echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt
+ echo $DCAE_COLLECTOR_PORT > config/dcae_collector_port.txt
+ echo $DEMO_ARTIFACTS_VERSION > config/artifacts_version.txt
+
+ # Install VPP
+ export UBUNTU="trusty"
+ export RELEASE=".stable.1609"
+ rm /etc/apt/sources.list.d/99fd.io.list
+ echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | sudo tee -a /etc/apt/sources.list.d/99fd.io.list
+ apt-get update
+ apt-get install -y vpp vpp-dpdk-dkms vpp-lib vpp-dbg vpp-plugins vpp-dev
+ sleep 1
+
+ # Install VES
+ cd /opt/VES/bldjobs/
+ make clean
+ make
+ sleep 1
+
+ # Run instantiation script
+ cd /opt
+ mv vfirewall.sh /etc/init.d
+ update-rc.d vfirewall.sh defaults
+ ./v_firewall_init.sh
+
+ vfw_private_0_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: unprotected_private_network }
+ fixed_ips: [{"subnet": { get_resource: unprotected_private_subnet }, "ip_address": { get_param: vfw_private_ip_0 }}]
+
+ vfw_private_1_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: protected_private_network }
+ fixed_ips: [{"subnet": { get_resource: protected_private_subnet }, "ip_address": { get_param: vfw_private_ip_1 }}]
+
+ vfw_private_2_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: ecomp_private_net_id }
+ fixed_ips: [{"subnet": { get_param: ecomp_private_subnet_id }, "ip_address": { get_param: vfw_private_ip_2 }}]
+
+ vpg_0:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: vfw_image_name }
+ flavor: { get_param: vfw_flavor_name }
+ name: { get_param: vpg_name_0 }
+ key_name: { get_resource: my_keypair }
+ networks:
+ - network: { get_param: public_net_id }
+ - port: { get_resource: vpg_private_0_port }
+ - port: { get_resource: vpg_private_1_port }
+ metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __fw_ipaddr__: { get_param: vfw_private_ip_0 }
+ __protected_net_cidr__: { get_param: protected_private_net_cidr }
+ __sink_ipaddr__: { get_param: vsn_private_ip_0 }
+ __repo_url_blob__ : { get_param: repo_url_blob }
+ __repo_url_artifacts__ : { get_param: repo_url_artifacts }
+ __demo_artifacts_version__ : { get_param: demo_artifacts_version }
+ template: |
+ #!/bin/bash
+
+ FW_IPADDR=__fw_ipaddr__
+ PROTECTED_NET_CIDR=__protected_net_cidr__
+ SINK_IPADDR=__sink_ipaddr__
+ REPO_URL_BLOB=__repo_url_blob__
+ REPO_URL_ARTIFACTS=__repo_url_artifacts__
+ DEMO_ARTIFACTS_VERSION=__demo_artifacts_version__
+
+ # Download required dependencies
+ add-apt-repository -y ppa:openjdk-r/ppa
+ apt-get update
+ apt-get install -y make wget openjdk-8-jdk gcc libcurl4-openssl-dev python-pip bridge-utils apt-transport-https ca-certificates
+ apt-get install -y maven
+ pip install jsonschema
+
+ # Download vFirewall demo code for packet generator
+ mkdir /opt/config
+ mkdir /opt/honeycomb
+ cd /opt
+
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/v_packetgen_init.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/vpacketgen.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/run_traffic_fw_demo.sh
+
+ mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf:sample-distribution:$DEMO_ARTIFACTS_VERSION:tar.gz:hc -Dtransitive=false -Ddest=.
+ mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.vfw:vfw_pg_streams:$DEMO_ARTIFACTS_VERSION:tar.gz:demo -Dtransitive=false -Ddest=.
+
+
+ tar -zxvf sample-distribution-$DEMO_ARTIFACTS_VERSION-hc.tar.gz
+ tar -zxvf vfw_pg_streams-$DEMO_ARTIFACTS_VERSION-demo.tar.gz
+ mv vfw_pg_streams-$DEMO_ARTIFACTS_VERSION pg_streams
+ mv sample-distribution-$DEMO_ARTIFACTS_VERSION honeycomb
+ sed -i 's/"restconf-binding-address": "127.0.0.1",/"restconf-binding-address": "0.0.0.0",/g' honeycomb/sample-distribution-$DEMO_ARTIFACTS_VERSION/config/honeycomb.json
+ rm *.tar.gz
+ chmod +x v_packetgen_init.sh
+ chmod +x vpacketgen.sh
+ echo $FW_IPADDR > config/fw_ipaddr.txt
+ echo $PROTECTED_NET_CIDR > config/protected_net_cidr.txt
+ echo $SINK_IPADDR > config/sink_ipaddr.txt
+ echo $DEMO_ARTIFACTS_VERSION > config/artifacts_version.txt
+
+ # Install VPP
+ export UBUNTU="trusty"
+ export RELEASE=".stable.1609"
+ rm /etc/apt/sources.list.d/99fd.io.list
+ echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | sudo tee -a /etc/apt/sources.list.d/99fd.io.list
+ apt-get update
+ apt-get install -y vpp vpp-dpdk-dkms vpp-lib vpp-dbg vpp-plugins vpp-dev
+ sleep 1
+
+ # Run instantiation script
+ cd /opt
+ mv vpacketgen.sh /etc/init.d
+ update-rc.d vpacketgen.sh defaults
+ ./v_packetgen_init.sh
+
+ vpg_private_0_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: unprotected_private_network }
+ fixed_ips: [{"subnet": { get_resource: unprotected_private_subnet }, "ip_address": { get_param: vpg_private_ip_0 }}]
+
+ vpg_private_1_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: ecomp_private_net_id }
+ fixed_ips: [{"subnet": { get_param: ecomp_private_subnet_id }, "ip_address": { get_param: vpg_private_ip_1 }}]
+
+ vsn_0:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: vfw_image_name }
+ flavor: { get_param: vfw_flavor_name }
+ name: { get_param: vsn_name_0 }
+ key_name: { get_resource: my_keypair }
+ networks:
+ - network: { get_param: public_net_id }
+ - port: { get_resource: vsn_private_0_port }
+ - port: { get_resource: vsn_private_1_port }
+ metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __protected_net_gw__: { get_param: vfw_private_ip_1 }
+ __unprotected_net__: { get_param: unprotected_private_net_cidr }
+ __repo_url_blob__ : { get_param: repo_url_blob }
+ __repo_url_artifacts__ : { get_param: repo_url_artifacts }
+ __demo_artifacts_version__ : { get_param: demo_artifacts_version }
+ template: |
+ #!/bin/bash
+
+ PROTECTED_NET_GW=__protected_net_gw__
+ UNPROTECTED_NET=__unprotected_net__
+ UNPROTECTED_NET=$(echo $UNPROTECTED_NET | cut -d'/' -f1)
+ REPO_URL_BLOB=__repo_url_blob__
+ REPO_URL_ARTIFACTS=__repo_url_artifacts__
+ DEMO_ARTIFACTS_VERSION=__demo_artifacts_version__
+
+ # Download required dependencies
+ add-apt-repository -y ppa:openjdk-r/ppa
+ apt-get update
+ apt-get install -y make wget openjdk-8-jdk apt-transport-https ca-certificates darkstat
+
+ # Configure and run darkstat
+ sed -i "s/START_DARKSTAT=.*/START_DARKSTAT=yes/g" /etc/darkstat/init.cfg
+ sed -i "s/INTERFACE=.*/INTERFACE=\"-i eth1\"/g" /etc/darkstat/init.cfg
+ /etc/init.d/darkstat start
+
+ mkdir /opt/config
+ cd /opt
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/v_sink_init.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vfw/$DEMO_ARTIFACTS_VERSION/vsink.sh
+ chmod +x v_sink_init.sh
+ chmod +x vsink.sh
+ echo $PROTECTED_NET_GW > config/protected_net_gw.txt
+ echo $UNPROTECTED_NET > config/unprotected_net.txt
+ mv vsink.sh /etc/init.d
+ update-rc.d vsink.sh defaults
+ ./v_sink_init.sh
+
+ vsn_private_0_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: protected_private_network }
+ fixed_ips: [{"subnet": { get_resource: protected_private_subnet }, "ip_address": { get_param: vsn_private_ip_0 }}]
+
+ vsn_private_1_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: ecomp_private_net_id }
+ fixed_ips: [{"subnet": { get_param: ecomp_private_subnet_id }, "ip_address": { get_param: vsn_private_ip_1 }}]
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/MANIFEST.json b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/MANIFEST.json
new file mode 100644
index 0000000000..bb8d70a138
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/MANIFEST.json
@@ -0,0 +1,28 @@
+{
+ "name": "virtualLoadBalancer",
+ "description": "robot ete manifest",
+ "data": [
+ {
+ "file": "base_vlb.yaml",
+ "type": "HEAT",
+ "isBase": "true",
+ "data": [
+ {
+ "file": "base_vlb.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ },
+ {
+ "file": "dnsscaling.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "dnsscaling.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.env b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.env
new file mode 100644
index 0000000000..b5b796a76f
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.env
@@ -0,0 +1,4 @@
+parameters:
+ vlb_image_name: UBUNTU_14_IMAGE_NAME_HERE
+ vlb_flavor_name: OPENSTACK_FLAVOUR_NAME_HERE
+ public_net_id: OPENSTACK_NETWORK_ID_WITH_INTERNET_HERE
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.yaml b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.yaml
new file mode 100644
index 0000000000..c292f2957d
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/base_vlb.yaml
@@ -0,0 +1,339 @@
+heat_template_version: 2013-05-23
+
+description: Heat template to deploy vLoadBalancer/vDNS demo app for OpenECOMP
+
+parameters:
+ vlb_image_name:
+ type: string
+ label: Image name or ID
+ description: Image to be used for compute instance
+ vlb_flavor_name:
+ type: string
+ label: Flavor
+ description: Type of instance (flavor) to be used
+ public_net_id:
+ type: string
+ label: Public network name or ID
+ description: Public network that enables remote connection to VNF
+ vlb_private_net_id:
+ type: string
+ label: vLoadBalancer private network name or ID
+ description: Private network that connects vLoadBalancer with vDNSs
+ ecomp_private_net_id:
+ type: string
+ label: ECOMP management network name or ID
+ description: Private network that connects ECOMP component and the VNF
+ ecomp_private_subnet_id:
+ type: string
+ label: ECOMP management sub-network name or ID
+ description: Private sub-network that connects ECOMP component and the VNF
+ vlb_private_net_cidr:
+ type: string
+ label: vLoadBalancer private network CIDR
+ description: The CIDR of the vLoadBalancer private network
+ ecomp_private_net_cidr:
+ type: string
+ label: ECOMP private network CIDR
+ description: The CIDR of the protected private network
+ vlb_private_ip_0:
+ type: string
+ label: vLoadBalancer private IP address towards the private network
+ description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs
+ vlb_private_ip_1:
+ type: string
+ label: vLoadBalancer private IP address towards the ECOMP management network
+ description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components
+ vdns_private_ip_0:
+ type: string
+ label: vDNS private IP address towards the private network
+ description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer
+ vdns_private_ip_1:
+ type: string
+ label: vDNS private IP address towards the ECOMP management network
+ description: Private IP address that is assigned to the vDNS to communicate with ECOMP components
+ vlb_name_0:
+ type: string
+ label: vLoadBalancer name
+ description: Name of the vLoadBalancer
+ vdns_name_0:
+ type: string
+ label: vDNS name
+ description: Name of the vDNS
+ vnf_id:
+ type: string
+ label: VNF ID
+ description: The VNF ID is provided by ECOMP
+ vf_module_id:
+ type: string
+ label: vFirewall module ID
+ description: The vLoadBalancer Module ID is provided by ECOMP
+ dcae_collector_ip:
+ type: string
+ label: DCAE collector IP address
+ description: IP address of the DCAE collector
+ dcae_collector_port:
+ type: string
+ label: DCAE collector port
+ description: Port of the DCAE collector
+ key_name:
+ type: string
+ label: Key pair name
+ description: Public/Private key pair name
+ pub_key:
+ type: string
+ label: Public key
+ description: Public key to be installed on the compute instance
+ repo_url_blob:
+ type: string
+ label: Repository URL
+ description: URL of the repository that hosts the demo packages
+ repo_url_artifacts:
+ type: string
+ label: Repository URL
+ description: URL of the repository that hosts the demo packages
+ demo_artifacts_version:
+ type: string
+ label: Artifacts version used in demo vnfs
+ description: Artifacts (jar, tar.gz) version used in demo vnfs
+
+resources:
+
+ random-str:
+ type: OS::Heat::RandomString
+ properties:
+ length: 4
+
+ my_keypair:
+ type: OS::Nova::KeyPair
+ properties:
+ name:
+ str_replace:
+ template: base_rand
+ params:
+ base: { get_param: key_name }
+ rand: { get_resource: random-str }
+ public_key: { get_param: pub_key }
+ save_private_key: false
+
+ vlb_private_network:
+ type: OS::Neutron::Net
+ properties:
+ name: { get_param: vlb_private_net_id }
+
+ vlb_private_subnet:
+ type: OS::Neutron::Subnet
+ properties:
+ name: { get_param: vlb_private_net_id }
+ network_id: { get_resource: vlb_private_network }
+ cidr: { get_param: vlb_private_net_cidr }
+
+ vlb_0:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: vlb_image_name }
+ flavor: { get_param: vlb_flavor_name }
+ name: { get_param: vlb_name_0 }
+ key_name: { get_resource: my_keypair }
+ networks:
+ - network: { get_param: public_net_id }
+ - port: { get_resource: vlb_private_0_port }
+ - port: { get_resource: vlb_private_1_port }
+ metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __dcae_collector_ip__: { get_param: dcae_collector_ip }
+ __dcae_collector_port__: { get_param: dcae_collector_port }
+ __local_private_ipaddr__: { get_param: vlb_private_ip_0 }
+ __repo_url_blob__ : { get_param: repo_url_blob }
+ __repo_url_artifacts__ : { get_param: repo_url_artifacts }
+ __demo_artifacts_version__ : { get_param: demo_artifacts_version }
+ template: |
+ #!/bin/bash
+
+ DCAE_COLLECTOR_IP=__dcae_collector_ip__
+ DCAE_COLLECTOR_PORT=__dcae_collector_port__
+ LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__
+ REPO_URL_BLOB=__repo_url_blob__
+ REPO_URL_ARTIFACTS=__repo_url_artifacts__
+ DEMO_ARTIFACTS_VERSION=__demo_artifacts_version__
+
+ # Download required dependencies
+ add-apt-repository -y ppa:openjdk-r/ppa
+ apt-get update
+ apt-get install -y make gcc wget openjdk-8-jdk bridge-utils libcurl4-openssl-dev apt-transport-https ca-certificates
+ apt-get install -y maven
+ sleep 1
+
+ # Download vLB demo code for load balancer
+ mkdir /opt/config
+ mkdir /opt/FDserver
+ cd /opt
+
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/v_lb_init.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/vlb.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/dnsmembership.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/add_dns.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/remove_dns.sh
+
+ mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.vlb:dns-manager:$DEMO_ARTIFACTS_VERSION:jar -Dtransitive=false -Ddest=.
+ mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.ves:ves:$DEMO_ARTIFACTS_VERSION:tar.gz:demo -Dtransitive=false -Ddest=.
+ mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.ves:ves_vlb_reporting:$DEMO_ARTIFACTS_VERSION:tar.gz:demo -Dtransitive=false -Ddest=.
+
+ tar -zxvf ves-$DEMO_ARTIFACTS_VERSION-demo.tar.gz
+ mv ves-$DEMO_ARTIFACTS_VERSION VES
+ tar -zxvf ves_vlb_reporting-$DEMO_ARTIFACTS_VERSION-demo.tar.gz
+ mv ves_vlb_reporting-$DEMO_ARTIFACTS_VERSION VESreporting_vLB
+
+ mv VESreporting_vLB /opt/VES/code/evel_training/VESreporting
+ mv dns-manager-$DEMO_ARTIFACTS_VERSION.jar /opt/FDserver/dns-manager-$DEMO_ARTIFACTS_VERSION.jar
+ mv dnsmembership.sh /opt/FDserver/dnsmembership.sh
+ mv add_dns.sh /opt/FDserver/add_dns.sh
+ mv remove_dns.sh /opt/FDserver/remove_dns.sh
+ rm *.tar.gz
+
+ chmod +x v_lb_init.sh
+ chmod +x vlb.sh
+ chmod +x /opt/VES/code/evel_training/VESreporting/go-client.sh
+ chmod +x /opt/FDserver/dnsmembership.sh
+ chmod +x /opt/FDserver/add_dns.sh
+ chmod +x /opt/FDserver/remove_dns.sh
+
+ echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt
+ echo $DCAE_COLLECTOR_PORT > config/dcae_collector_port.txt
+ echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt
+ LOCAL_PUBLIC_IPADDR=$(ifconfig eth0 | grep "inet addr" | tr -s ' ' | cut -d' ' -f3 | cut -d':' -f2)
+ echo $LOCAL_PUBLIC_IPADDR > config/local_public_ipaddr.txt
+ echo $DEMO_ARTIFACTS_VERSION > config/artifacts_version.txt
+
+ # Install VPP
+ export UBUNTU="trusty"
+ export RELEASE=".stable.1609"
+ rm /etc/apt/sources.list.d/99fd.io.list
+ echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io$RELEASE.ubuntu.$UBUNTU.main/ ./" | sudo tee -a /etc/apt/sources.list.d/99fd.io.list
+ apt-get update
+ apt-get install -y vpp vpp-dpdk-dkms vpp-lib vpp-dbg vpp-plugins vpp-dev
+ sleep 1
+
+ # Install VES
+ cd /opt/VES/bldjobs/
+ make clean
+ make
+ sleep 1
+
+ # Run instantiation script
+ cd /opt
+ mv vlb.sh /etc/init.d
+ update-rc.d vlb.sh defaults
+ ./v_lb_init.sh
+
+ vlb_private_0_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: vlb_private_network }
+ fixed_ips: [{"subnet": { get_resource: vlb_private_subnet }, "ip_address": { get_param: vlb_private_ip_0 }}]
+
+ vlb_private_1_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: ecomp_private_net_id }
+ fixed_ips: [{"subnet": { get_param: ecomp_private_subnet_id }, "ip_address": { get_param: vlb_private_ip_1 }}]
+
+ vdns_0:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: vlb_image_name }
+ flavor: { get_param: vlb_flavor_name }
+ name: { get_param: vdns_name_0 }
+ key_name: { get_resource: my_keypair }
+ networks:
+ - network: { get_param: public_net_id }
+ - port: { get_resource: vdns_private_0_port }
+ - port: { get_resource: vdns_private_1_port }
+ metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __lb_oam_int__ : { get_param: vlb_private_ip_1 }
+ __lb_private_ipaddr__: { get_param: vlb_private_ip_0 }
+ __local_private_ipaddr__: { get_param: vdns_private_ip_0 }
+ __repo_url_blob__ : { get_param: repo_url_blob }
+ __repo_url_artifacts__ : { get_param: repo_url_artifacts }
+ __demo_artifacts_version__ : { get_param: demo_artifacts_version }
+ template: |
+ #!/bin/bash
+
+ LB_OAM_INT=__lb_oam_int__
+ LB_PRIVATE_IPADDR=__lb_private_ipaddr__
+ LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__
+ REPO_URL_BLOB=__repo_url_blob__
+ REPO_URL_ARTIFACTS=__repo_url_artifacts__
+ DEMO_ARTIFACTS_VERSION=__demo_artifacts_version__
+
+ # Download required dependencies
+ add-apt-repository -y ppa:openjdk-r/ppa
+ apt-get update
+ apt-get install -y wget openjdk-8-jdk bind9 bind9utils bind9-doc apt-transport-https ca-certificates
+ apt-get install -y maven
+ sleep 1
+
+ # Download vDNS demo code for DNS Server
+ mkdir /opt/config
+ mkdir /opt/FDclient
+ cd /opt
+
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/v_dns_init.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/vdns.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/dnsclient.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/set_gre_tunnel.sh
+
+ mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.vlb:dns-client:$DEMO_ARTIFACTS_VERSION:jar -Dtransitive=false -Ddest=.
+
+ mv dns-client-$DEMO_ARTIFACTS_VERSION.jar /opt/FDclient/
+ mv dnsclient.sh /opt/FDclient/
+ mv set_gre_tunnel.sh /opt/FDclient/
+
+ chmod +x v_dns_init.sh
+ chmod +x vdns.sh
+ chmod +x /opt/FDclient/dnsclient.sh
+ chmod +x /opt/FDclient/set_gre_tunnel.sh
+
+ echo $LB_OAM_INT > config/lb_oam_int.txt
+ echo $LB_PRIVATE_IPADDR > config/lb_private_ipaddr.txt
+ echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt
+ echo $DEMO_ARTIFACTS_VERSION > config/artifacts_version.txt
+
+ # Download Bind config files
+ cd /opt/config
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/db_dnsdemo_openecomp_org
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/named.conf.options
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/named.conf.local
+
+ # Configure Bind
+ modprobe ip_gre
+ mkdir /etc/bind/zones
+ sed -i "s/OPTIONS=.*/OPTIONS=\"-4 -u bind\"/g" /etc/default/bind9
+ mv db_dnsdemo_openecomp_org /etc/bind/zones/db.dnsdemo.openecomp.org
+ mv named.conf.options /etc/bind/
+ mv named.conf.local /etc/bind/
+ sleep 1
+
+ # Run instantiation script
+ cd /opt
+ mv vdns.sh /etc/init.d
+ update-rc.d vdns.sh defaults
+ ./v_dns_init.sh
+
+ vdns_private_0_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: vlb_private_network }
+ fixed_ips: [{"subnet": { get_resource: vlb_private_subnet }, "ip_address": { get_param: vdns_private_ip_0 }}]
+
+ vdns_private_1_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: ecomp_private_net_id }
+ fixed_ips: [{"subnet": { get_param: ecomp_private_subnet_id }, "ip_address": { get_param: vdns_private_ip_1 }}]
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.env b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.env
new file mode 100644
index 0000000000..b5b796a76f
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.env
@@ -0,0 +1,4 @@
+parameters:
+ vlb_image_name: UBUNTU_14_IMAGE_NAME_HERE
+ vlb_flavor_name: OPENSTACK_FLAVOUR_NAME_HERE
+ public_net_id: OPENSTACK_NETWORK_ID_WITH_INTERNET_HERE
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.yaml b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.yaml
new file mode 100644
index 0000000000..003deb9103
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vlb/dnsscaling.yaml
@@ -0,0 +1,194 @@
+heat_template_version: 2013-05-23
+
+description: Heat template to deploy a vDNS for OpenECOMP (scaling-up scenario)
+
+parameters:
+ vlb_image_name:
+ type: string
+ label: Image name or ID
+ description: Image to be used for compute instance
+ vlb_flavor_name:
+ type: string
+ label: Flavor
+ description: Type of instance (flavor) to be used
+ public_net_id:
+ type: string
+ label: Public network name or ID
+ description: Public network that enables remote connection to VNF
+ vlb_private_net_id:
+ type: string
+ label: vLoadBalancer private network name or ID
+ description: Private network that connects vLoadBalancer with vDNSs
+ ecomp_private_net_id:
+ type: string
+ label: ECOMP management network name or ID
+ description: Private network that connects ECOMP component and the VNF
+ ecomp_private_subnet_id:
+ type: string
+ label: ECOMP management sub-network name or ID
+ description: Private sub-network that connects ECOMP component and the VNF
+ vlb_private_ip_0:
+ type: string
+ label: vLoadBalancer private IP address towards the private network
+ description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs
+ vlb_private_ip_1:
+ type: string
+ label: vLoadBalancer private IP address towards the ECOMP management network
+ description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components
+ vdns_private_ip_0:
+ type: string
+ label: vDNS private IP address towards the private network
+ description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer
+ vdns_private_ip_1:
+ type: string
+ label: vDNS private IP address towards the ECOMP management network
+ description: Private IP address that is assigned to the vDNS to communicate with ECOMP components
+ vdns_name_0:
+ type: string
+ label: vDNS name
+ description: Name of the vDNS
+ vnf_id:
+ type: string
+ label: VNF ID
+ description: The VNF ID is provided by ECOMP
+ vf_module_id:
+ type: string
+ label: vFirewall module ID
+ description: The vLoadBalancer Module ID is provided by ECOMP
+ key_name:
+ type: string
+ label: Key pair name
+ description: Public/Private key pair name
+ pub_key:
+ type: string
+ label: Public key
+ description: Public key to be installed on the compute instance
+ repo_url_blob:
+ type: string
+ label: Repository URL
+ description: URL of the repository that hosts the demo packages
+ repo_url_artifacts:
+ type: string
+ label: Repository URL
+ description: URL of the repository that hosts the demo packages
+ demo_artifacts_version:
+ type: string
+ label: Artifacts version used in demo vnfs
+ description: Artifacts (jar, tar.gz) version used in demo vnfs
+
+resources:
+
+ random-str:
+ type: OS::Heat::RandomString
+ properties:
+ length: 4
+
+ my_keypair:
+ type: OS::Nova::KeyPair
+ properties:
+ name:
+ str_replace:
+ template: base_rand
+ params:
+ base: { get_param: key_name }
+ rand: { get_resource: random-str }
+ public_key: { get_param: pub_key }
+ save_private_key: false
+
+ vdns_0:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: vlb_image_name }
+ flavor: { get_param: vlb_flavor_name }
+ name: { get_param: vdns_name_0 }
+ key_name: { get_resource: my_keypair }
+ networks:
+ - network: { get_param: public_net_id }
+ - port: { get_resource: vdns_private_0_port }
+ - port: { get_resource: vdns_private_1_port }
+ metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __lb_oam_int__ : { get_param: vlb_private_ip_1 }
+ __lb_private_ipaddr__: { get_param: vlb_private_ip_0 }
+ __local_private_ipaddr__: { get_param: vdns_private_ip_0 }
+ __repo_url_blob__ : { get_param: repo_url_blob }
+ __repo_url_artifacts__ : { get_param: repo_url_artifacts }
+ __demo_artifacts_version__ : { get_param: demo_artifacts_version }
+ template: |
+ #!/bin/bash
+
+ LB_OAM_INT=__lb_oam_int__
+ LB_PRIVATE_IPADDR=__lb_private_ipaddr__
+ LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__
+ REPO_URL_BLOB=__repo_url_blob__
+ REPO_URL_ARTIFACTS=__repo_url_artifacts__
+ DEMO_ARTIFACTS_VERSION=__demo_artifacts_version__
+
+ # Download required dependencies
+ add-apt-repository -y ppa:openjdk-r/ppa
+ apt-get update
+ apt-get install -y wget openjdk-8-jdk bind9 bind9utils bind9-doc apt-transport-https ca-certificates
+ apt-get install -y maven
+ sleep 1
+
+ # Download vDNS demo code for DNS Server
+ mkdir /opt/config
+ mkdir /opt/FDclient
+ cd /opt
+
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/v_dns_init.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/vdns.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/dnsclient.sh
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/set_gre_tunnel.sh
+
+ mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DremoteRepositories=$REPO_URL_ARTIFACTS -Dartifact=org.openecomp.demo.vnf.vlb:dns-client:$DEMO_ARTIFACTS_VERSION:jar -Dtransitive=false -Ddest=.
+
+ mv dns-client-$DEMO_ARTIFACTS_VERSION.jar /opt/FDclient/
+ mv dnsclient.sh /opt/FDclient/
+ mv set_gre_tunnel.sh /opt/FDclient/
+
+ chmod +x v_dns_init.sh
+ chmod +x vdns.sh
+ chmod +x /opt/FDclient/dnsclient.sh
+ chmod +x /opt/FDclient/set_gre_tunnel.sh
+
+ echo $LB_OAM_INT > config/lb_oam_int.txt
+ echo $LB_PRIVATE_IPADDR > config/lb_private_ipaddr.txt
+ echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt
+ echo $DEMO_ARTIFACTS_VERSION > config/artifacts_version.txt
+
+ # Download Bind config files
+ cd /opt/config
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/db_dnsdemo_openecomp_org
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/named.conf.options
+ wget $REPO_URL_BLOB/org.openecomp.demo/vnfs/vlb/$DEMO_ARTIFACTS_VERSION/named.conf.local
+
+ # Configure Bind
+ modprobe ip_gre
+ mkdir /etc/bind/zones
+ sed -i "s/OPTIONS=.*/OPTIONS=\"-4 -u bind\"/g" /etc/default/bind9
+ mv db_dnsdemo_openecomp_org /etc/bind/zones/db.dnsdemo.openecomp.org
+ mv named.conf.options /etc/bind/
+ mv named.conf.local /etc/bind/
+ sleep 1
+
+ # Run instantiation script
+ cd /opt
+ mv vdns.sh /etc/init.d
+ update-rc.d vdns.sh defaults
+ ./v_dns_init.sh
+
+ vdns_private_0_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: vlb_private_net_id }
+ fixed_ips: [{"subnet": { get_param: vlb_private_net_id }, "ip_address": { get_param: vdns_private_ip_0 }}]
+
+ vdns_private_1_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: ecomp_private_net_id }
+ fixed_ips: [{"subnet": { get_param: ecomp_private_subnet_id }, "ip_address": { get_param: vdns_private_ip_1 }}]
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/MANIFEST.json b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/MANIFEST.json
new file mode 100644
index 0000000000..67312f23b8
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/MANIFEST.json
@@ -0,0 +1,17 @@
+{
+ "name": "volumeGroup.yaml",
+ "description": "robot ete manifest",
+ "data": [
+ {
+ "file": "base_vvg.yaml",
+ "type": "HEAT",
+ "isBase": "true",
+ "data": [
+ {
+ "file": "base_vvg.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.env b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.env
new file mode 100644
index 0000000000..2b4e72b833
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.env
@@ -0,0 +1,3 @@
+parameters:
+ volume_size: 100
+ nova_instance: 1234456 \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.yaml b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.yaml
new file mode 100644
index 0000000000..c20d4e4850
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/asdc/base_vvg/base_vvg.yaml
@@ -0,0 +1,22 @@
+heat_template_version: 2013-05-23
+description: create a Nova instance, a Cinder volume and attach the volume to the instance.
+
+parameters:
+ nova_instance:
+ type: string
+ label: Instance name or ID
+ description: ID of the vm to use for the disk to be attached too
+ volume_size:
+ type: number
+ label: GB
+ description: Size of the volume to be created.
+resources:
+ cinder_volume:
+ type: OS::Cinder::Volume
+ properties:
+ size: { get_param: volume_size }
+ volume_attachment:
+ type: OS::Cinder::VolumeAttachment
+ properties:
+ volume_id: { get_resource: cinder_volume }
+ instance_uuid: { get_param: nova_instance } \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/dcae/dcae_healthcheck.json b/kubernetes/config/docker/init/src/config/robot/robot/assets/dcae/dcae_healthcheck.json
new file mode 100644
index 0000000000..d612b08210
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/dcae/dcae_healthcheck.json
@@ -0,0 +1,5 @@
+{
+ "path": "/reports/dcae/service-instances",
+ "start": "-24hour",
+ "end": "now"
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/ecompdemo.pvt b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/ecompdemo.pvt
new file mode 100644
index 0000000000..36d9e9cf39
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/ecompdemo.pvt
@@ -0,0 +1,30 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: DES-EDE3-CBC,E9DC8BE477D6D4AC
+
+4lYXpDswDU9oNh/OdB/0krK7AVN2OYnU98ZvYUfQIVWgrAty0vp0PDErOAAP7AOE
+tz+tQwvg/JVqZlBGCYIkwx5ADJ9YFXMyn/Ztla2jC90dxbjlra+MvuU9nMfjWhjP
+PiaOysIDaRIPZqjkjRQcslgsDYgVF4JC+2qRMJ62e5exk0dw4Cn3XeN53pByQ8HT
+OnTuszejFNb3/HA5LsPyJl3cZqMBlKOHToUBbF2JBuo+aDq5S+YgzILep/nTQadh
+kLfuJThhAwTJsQWVCSOggAwsjV6fP5yi2q9iCmF07kxDgRsByj0nl/7YDoZ69ZoE
+LHkZEoZ1JSX0SSOrOUyVcpf8+ofK1aMEoWRvLGYfBD7wDJb4nzi4k1fdJGnoDLms
+dr+mL7RB5zoC3xlumSAK2AP8hhIfURtaSC9hpiUB6yIXCmUjx4FIzroa4gBUsrlJ
+R6KGp+6b54bf7hwFeCjYENjGq5YJJ24Aur2mR045LCBNP452pFVi5SIfX0PO5ocd
+dBvPHQUqtCoUkQMSTtjy6T384BbPeA5s5zazq7WUoNrQD37khR7MojBpww0s3wEh
+U+XWlQ5bEjEjac5Q8RIJrB2Bp6/cUQFSlqNDKxK2y1WzvPjM/Fkn2H+hImn+we7n
+Cp5fzx6s4roeEc9WvVmb2+V3xV883pkktd1IiWGfleB14ZJ1vcGzdW+lBINgm9h1
+5xvxP5Xtqj8KGGoA3mEo3CbzR1XbkEp7/S4MN1OsXSCy3jZpiP+ctd4fwk5Ltcqz
+YEjM5cb2+joNYTd4JW5DTtz7qrMn/sotAOlgw2ozmXLfbbMuOZ9SX76npEr8SKd+
+065bxJ+YvN6MFzwG75nFfXcPWdNVntXaH+zOZfBGBNX84gX4p3ORF1u18brNcd9z
+0sv1OiGdO5NFVA/3YixP1P2zZxlGsi972PtHoQ8SHxbEfNMCqkNGrHh+KmaT42k6
+W5lscEhPDtIsiRmhTTrL6L5sFCbLL+8UZktK1/TU27QtCtywi5xfzO9NhJg27R5b
+hPvQs43V7KItpdc5LdWrft7hTnmc4jn5F6aE7l9bCaaRgAy1MH6lzyjuaLphFXmP
+GdPLD9GhMFiTRJNVCRkYPZwtGKdfG6/z6kRZGIi6XPYzI3FcHOdKTGgvGxlko6Lr
+4FG0kOwgi55o1gQnL3wsBVoNZ7PrkHLFSQhu03ggXPrf75oMN0Tsqai+iaf4OvMr
+fgk4O5+D/CX94R50V1xUymUrRIAzKG3k+jebFcTzkb7B/e1bPwr8ZRUk31nZrgYp
+3qKJT77/Vz+tyL3H+U3YdvzxhG6+onXDkAvO8WAcfsKpEJ3thv8NOqXZeKCY2m1G
+wrQ8vfl6MddOvlI5EKbnwesXIznO9Gl+RoCm18I/M8bETTAOMJXb3cp4GiBffXbI
+8kbYwVeHGscXizHdkuqjbN1NLg5KPZV10KRchg0g85PWgDr59wY5kMplFNUrkxY2
+1ETYOZsmOa3/Afcq2dgxEw1t1t+ZRR5dh6OdQXKCvsHHugQisnPi5NAb8gkZbRJI
+yHNInMegrG2S17n75P0o+GM+XItc74ygnv/KedJFW9uBaOr7sXtB4A==
+-----END RSA PRIVATE KEY-----
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.ppk b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.ppk
new file mode 100644
index 0000000000..0a327c24f6
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.ppk
@@ -0,0 +1,26 @@
+PuTTY-User-Key-File-2: ssh-rsa
+Encryption: none
+Comment: rsa-key-20161026
+Public-Lines: 6
+AAAAB3NzaC1yc2EAAAABJQAAAQEAqqnA9BAiMLtjOPSYBfhzLu4CiBolWoskDg4K
+VwhTJVTTeB6CqrQNcadlGXxOHhCYuNCKkUmIVF4WTOisVOJ75Z1c4OMoZLL85xVP
+KSIeH63kgVugwgPYQu55NbbWX+rsbUha3LnElDhNviMM3iTPbD5nnhKixNERAJMT
+LKXvZZZGqxW94bREknYPQTT2qrk3YRqwldncopp6Nkgv3AnSJz2gc9tjxnWF0poT
+QnQm/3D6hiJICrzKfAV0EaPN0KdtYjPhKrYoy6Qb/tKOVaaqsvwfKBJGrT9LfcA7
+D7M/yj292RT1XN63hI84WC383LsaPJ6eWdDTE6zUP1eGTWCoOw==
+Private-Lines: 14
+AAABAGoWftznbzMMs0zrEmSThd7m+qehjNdrP+0PpZAMGAJy//6PgahiFjHkmMqn
+N3p5BP1DXQ40oNp/rP9gM8YQPy3eXFRxh8/k4mYiAMaK1HSOsKNwTyx+7jdxpUrn
+Rv1arqTMHM5lo7YVKWha+ik5egUEMpKxo3NtNBUdJ5hLeSN4EzbS0xq6dYA0EU33
+kjmkoqtj2qMhwZQmTUCyqvtae6t9I7YTP9DbkG+kyuWSLCrbIFN3SPU7jsLBxI45
+cdUiAKBbd6WjPYauSyhTenZvqjxDV0w/QUPKv3vxpqPvLfdA/gQfvhFLkNMStdb9
+DKB4ni8uiAPtM5AVYlgEpC7Nuw0AAACBANa5Wi9KvsPp5ltbiwrLeoVTPmFwAhJP
+w+B+OEoRN4oMqstIBOZiYz1+WV/nA3WR1gOd/TbDL4kzXL9SYl/y8QmFjrc7B4vI
+GLhWnDBjl1l/wvYhxMXbfHEN2VqZVICSoEVICphx6SPflFH53kmGrIiBs9GWFv9c
+AVGHi1j52rvRAAAAgQDLeCWfKS24gUcSfn/UHlc9EGgyNayeC3eX4K2xV9yMSXub
+uQVvxiuBXd6OWW9I/CQyNVoLN3tboAzRl61ds15Ml+V/uLMjxrXJXDWkEiQHsOMX
+BhREWZL0T3hlFZsyfVZPPH5BavZzA4PB1/BF+t06N10pnASXB4kcKjQD0JQCSwAA
+AIBfQ7PZM1KuL0zpD6imxUgyNNSXdGTfM9XUSY5L8e2xWqjnZT+Cj1bUGVYMxrpC
+8bpfGGTyBv/v6N7NxPep1QeyM9E0o0z0ID9ybRpX4ErYSp1sLZBNlBXdAAL9nexo
+XbZDpN0zdBE5wnAMjcjHTp9PMSDeWt4/r2aiNde3VFwnWg==
+Private-MAC: 50d4bf08bffb34c3aba06d57afb241242ca9e242
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.pvt b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.pvt
new file mode 100644
index 0000000000..17c17a3dca
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_private_key.pvt
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEoQIBAAKCAQEAqqnA9BAiMLtjOPSYBfhzLu4CiBolWoskDg4KVwhTJVTTeB6C
+qrQNcadlGXxOHhCYuNCKkUmIVF4WTOisVOJ75Z1c4OMoZLL85xVPKSIeH63kgVug
+wgPYQu55NbbWX+rsbUha3LnElDhNviMM3iTPbD5nnhKixNERAJMTLKXvZZZGqxW9
+4bREknYPQTT2qrk3YRqwldncopp6Nkgv3AnSJz2gc9tjxnWF0poTQnQm/3D6hiJI
+CrzKfAV0EaPN0KdtYjPhKrYoy6Qb/tKOVaaqsvwfKBJGrT9LfcA7D7M/yj292RT1
+XN63hI84WC383LsaPJ6eWdDTE6zUP1eGTWCoOwIBJQKCAQBqFn7c528zDLNM6xJk
+k4Xe5vqnoYzXaz/tD6WQDBgCcv/+j4GoYhYx5JjKpzd6eQT9Q10ONKDaf6z/YDPG
+ED8t3lxUcYfP5OJmIgDGitR0jrCjcE8sfu43caVK50b9Wq6kzBzOZaO2FSloWvop
+OXoFBDKSsaNzbTQVHSeYS3kjeBM20tMaunWANBFN95I5pKKrY9qjIcGUJk1Asqr7
+WnurfSO2Ez/Q25BvpMrlkiwq2yBTd0j1O47CwcSOOXHVIgCgW3eloz2GrksoU3p2
+b6o8Q1dMP0FDyr978aaj7y33QP4EH74RS5DTErXW/QygeJ4vLogD7TOQFWJYBKQu
+zbsNAoGBANa5Wi9KvsPp5ltbiwrLeoVTPmFwAhJPw+B+OEoRN4oMqstIBOZiYz1+
+WV/nA3WR1gOd/TbDL4kzXL9SYl/y8QmFjrc7B4vIGLhWnDBjl1l/wvYhxMXbfHEN
+2VqZVICSoEVICphx6SPflFH53kmGrIiBs9GWFv9cAVGHi1j52rvRAoGBAMt4JZ8p
+LbiBRxJ+f9QeVz0QaDI1rJ4Ld5fgrbFX3IxJe5u5BW/GK4Fd3o5Zb0j8JDI1Wgs3
+e1ugDNGXrV2zXkyX5X+4syPGtclcNaQSJAew4xcGFERZkvRPeGUVmzJ9Vk88fkFq
+9nMDg8HX8EX63To3XSmcBJcHiRwqNAPQlAJLAoGAdBEp1F/BD/QN0ISCgmAmjUHA
+2rkV4GJ3t54sQ7ZHiORApTuvnyBs/qUpZEWFVE7UjFVmRx1lzZ85DXij4NZYxuBo
+0b8K/3MUR/d3BWZD+QbKP9rm532PX7R1fRScYSypqOiryAY41R7oY6molnJPbGHI
++6sTWZmELBHqdUjJQu0CgYEAuvjIoBgAgAgXy84wRmER5RX+4gfPDcVZI8eK2lC8
+0/B/bICBiU5RfcvhRImI20iP9sk9/HgsKq6/q9d8tvfaHN6bih9Ygb2Ec9gxSqji
+1qKLfPDUWnvTJbDPf3ujXtQKH0xYV8oS5jqUv/bcyq8sJ6h/H1EY+XyL1LEo4Oku
+D/ECgYBfQ7PZM1KuL0zpD6imxUgyNNSXdGTfM9XUSY5L8e2xWqjnZT+Cj1bUGVYM
+xrpC8bpfGGTyBv/v6N7NxPep1QeyM9E0o0z0ID9ybRpX4ErYSp1sLZBNlBXdAAL9
+nexoXbZDpN0zdBE5wnAMjcjHTp9PMSDeWt4/r2aiNde3VFwnWg==
+-----END RSA PRIVATE KEY-----
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.pub b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.pub
new file mode 100644
index 0000000000..934c60a825
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.pub
@@ -0,0 +1,9 @@
+---- BEGIN SSH2 PUBLIC KEY ----
+Comment: "rsa-key-20161026"
+AAAAB3NzaC1yc2EAAAABJQAAAQEAqqnA9BAiMLtjOPSYBfhzLu4CiBolWoskDg4K
+VwhTJVTTeB6CqrQNcadlGXxOHhCYuNCKkUmIVF4WTOisVOJ75Z1c4OMoZLL85xVP
+KSIeH63kgVugwgPYQu55NbbWX+rsbUha3LnElDhNviMM3iTPbD5nnhKixNERAJMT
+LKXvZZZGqxW94bREknYPQTT2qrk3YRqwldncopp6Nkgv3AnSJz2gc9tjxnWF0poT
+QnQm/3D6hiJICrzKfAV0EaPN0KdtYjPhKrYoy6Qb/tKOVaaqsvwfKBJGrT9LfcA7
+D7M/yj292RT1XN63hI84WC383LsaPJ6eWdDTE6zUP1eGTWCoOw==
+---- END SSH2 PUBLIC KEY ----
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.txt b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.txt
new file mode 100644
index 0000000000..43a61cd900
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/keys/robot_ssh_public_key.txt
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqqnA9BAiMLtjOPSYBfhzLu4CiBolWoskDg4KVwhTJVTTeB6CqrQNcadlGXxOHhCYuNCKkUmIVF4WTOisVOJ75Z1c4OMoZLL85xVPKSIeH63kgVugwgPYQu55NbbWX+rsbUha3LnElDhNviMM3iTPbD5nnhKixNERAJMTLKXvZZZGqxW94bREknYPQTT2qrk3YRqwldncopp6Nkgv3AnSJz2gc9tjxnWF0poTQnQm/3D6hiJICrzKfAV0EaPN0KdtYjPhKrYoy6Qb/tKOVaaqsvwfKBJGrT9LfcA7D7M/yj292RT1XN63hI84WC383LsaPJ6eWdDTE6zUP1eGTWCoOw== rsa-key-20161026 \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/service_mappings.py b/kubernetes/config/docker/init/src/config/robot/robot/assets/service_mappings.py
new file mode 100644
index 0000000000..0465c68885
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/service_mappings.py
@@ -0,0 +1,29 @@
+GLOBAL_SERVICE_FOLDER_MAPPING = {"vFW" : ['base_vfw'], \
+ "vLB" : ['base_vlb'], \
+ "vVG" : ['base_vvg'], \
+ }
+
+GLOBAL_SERVICE_TEMPLATE_MAPPING = {"vFW" : [{"isBase" : "true", "template" : "vfw_preload.template", "name_pattern": "base_vfw"}], \
+ "vLB" : [{"isBase" : "true", "template" : "vlb_preload.template", "name_pattern": "base_vlb"},
+ {"isBase" : "false", "template" : "dnsscaling_preload.template", "name_pattern": "dnsscaling", "prefix" : "vDNS_"}],
+ "vVG" : [{"isBase" : "true", "template" : "vvg_preload.template", "name_pattern": "base_vvg"}], \
+ }
+
+
+##
+## The following identifies the stack parameter names for the onap_oam network IPS
+## In stantiated by the stack. During stack teardown, we need to ensure that
+## These ports are deleted due to latency in rackspace to free these ports.
+## This is just a workaround to enable respinning a VM as soon as possible
+GLOBAL_SERVICE_ECOMP_IP_MAPPING = {"vFW" : ['vpg_private_ip_1', 'vfw_private_ip_2','vsn_private_ip_1'], \
+ "vLB" : ['vlb_private_ip_1', 'vdns_private_ip_1'],
+ "vVG" : [], \
+ }
+
+
+##
+## Used by the Heatbridge Validate Query to A&AI to locate the vserver name
+GLOBAL_VALIDATE_NAME_MAPPING = {"vFW" : 'vfw_name_0',
+ "vLB" : 'vlb_name_0',
+ "vVG" : ''
+ }
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_customer.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_customer.template
new file mode 100644
index 0000000000..d0ae174adc
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_customer.template
@@ -0,0 +1,25 @@
+{
+ "global-customer-id": "${global_customer_id}",
+ "subscriber-name": "${subscriber_name}",
+ "subscriber-type": "${subscriber_type}",
+ "service-subscriptions": {
+ "service-subscription": [{
+ "service-type": "${service1}",
+ "relationship-list": {
+ "relationship": [{
+ "related-to": "tenant",
+ "relationship-data": [{
+ "relationship-key": "cloud-region.cloud-owner",
+ "relationship-value": "${cloud_owner1}"
+ }, {
+ "relationship-key": "cloud-region.cloud-region-id",
+ "relationship-value": "${cloud_region_id1}"
+ }, {
+ "relationship-key": "tenant.tenant-id",
+ "relationship-value": "${tenant_id1}"
+ }]
+ }]
+ }
+ }]
+ }
+ } \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_demo_customer.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_demo_customer.template
new file mode 100644
index 0000000000..e56577c54b
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_demo_customer.template
@@ -0,0 +1,47 @@
+{
+ "global-customer-id" : "${global_customer_id}",
+ "subscriber-name" : "${subscriber_name}",
+ "subscriber-type" : "${subscriber_type}",
+ "service-subscriptions" : {
+ "service-subscription" : [{
+ "service-type" : "${service1}",
+ "relationship-list" : {
+ "relationship" : [{
+ "related-to" : "tenant",
+ "relationship-data" : [{
+ "relationship-key" : "cloud-region.cloud-owner",
+ "relationship-value" : "${cloud_owner}"
+ }, {
+ "relationship-key" : "cloud-region.cloud-region-id",
+ "relationship-value" : "${cloud_region_id}"
+ }, {
+ "relationship-key" : "tenant.tenant-id",
+ "relationship-value" : "${tenant_id}"
+ }
+ ]
+ }
+ ]
+ }
+ }, {
+ "service-type" : "${service2}",
+ "relationship-list" : {
+ "relationship" : [{
+ "related-to" : "tenant",
+ "relationship-data" : [{
+ "relationship-key" : "cloud-region.cloud-owner",
+ "relationship-value" : "${cloud_owner}"
+ }, {
+ "relationship-key" : "cloud-region.cloud-region-id",
+ "relationship-value" : "${cloud_region_id}"
+ }, {
+ "relationship-key" : "tenant.tenant-id",
+ "relationship-value" : "${tenant_id}"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+}
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_service_body.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_service_body.template
new file mode 100644
index 0000000000..ca32fd5146
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_service_body.template
@@ -0,0 +1,6 @@
+{
+ "service-id": "${UUID}",
+ "service-description": "${service_type}"
+}
+
+
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_tenant_body.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_tenant_body.template
new file mode 100644
index 0000000000..a7dbbbf72f
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/add_tenant_body.template
@@ -0,0 +1,18 @@
+{
+ "cloud-owner": "${cloud_owner}",
+ "cloud-region-id": "${cloud_region_id}",
+ "cloud-type": "${cloud_type}",
+ "owner-defined-type": "${owner_defined_type}",
+ "cloud-region-version": "${cloud_region_version}",
+ "cloud-zone": "${cloud_zone}",
+ ${resource_version}
+ "tenants": {
+ "tenant": [{
+ "tenant-id": "${tenant_id}",
+ "tenant-name": "${tenant_name}"
+
+ }]
+ }
+}
+
+
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/named_query.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/named_query.template
new file mode 100644
index 0000000000..de3f21f683
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/named_query.template
@@ -0,0 +1,17 @@
+{
+ "query-parameters": {
+ "named-query": {
+ "named-query-uuid": "f199cb88-5e69-4b1f-93e0-6f257877d066"
+ }
+ },
+ "instance-filters": {
+ "instance-filter": [
+ {
+ "vserver":
+ {
+ "vserver-name": "${vserver_name}"
+ }
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/service_subscription.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/service_subscription.template
new file mode 100644
index 0000000000..85703581e3
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/service_subscription.template
@@ -0,0 +1,19 @@
+{
+ "service-subscription":[
+ {
+ "service-type":"{$service_type}",
+ "resource-version":"1473866861",
+ "service-instances":{
+ "service-instance":[
+ {
+ "service-instance-id":"d3f9a631-e280-4a87-846d-9ccd7a265980",
+ "service-instance-name":"VIV+IST+ezNew+Oct6",
+ "persona-model-id":"e6f1d393-6432-4820-ab86-7a10ba4b31ac",
+ "persona-model-version":"1.0",
+ "resource-version":"1475807447"
+ }
+ ]
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/vlb_closed_loop_hack.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/vlb_closed_loop_hack.template
new file mode 100644
index 0000000000..27f9c963b8
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/aai/vlb_closed_loop_hack.template
@@ -0,0 +1,7 @@
+{
+ "is-base-vf-module": false,
+ "persona-model-id": "${persona_model_id}",
+ "persona-model-version": "1.0",
+ "vf-module-id": "${vf_module_id}",
+ "vf-module-name": "${vf_module_id}"
+}
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/appc/vnf_mount.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/appc/vnf_mount.template
new file mode 100644
index 0000000000..8ad11359a0
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/appc/vnf_mount.template
@@ -0,0 +1,16 @@
+<node xmlns="urn:TBD:params:xml:ns:yang:network-topology">
+ <node-id>${nodeid}</node-id>
+ <host xmlns="urn:opendaylight:netconf-node-topology">${host}</host>
+ <port xmlns="urn:opendaylight:netconf-node-topology">${port}</port>
+ <username xmlns="urn:opendaylight:netconf-node-topology">${username}</username>
+ <password xmlns="urn:opendaylight:netconf-node-topology">${password}</password>
+ <tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only>
+ <!-- non-mandatory fields with default values, you can safely remove these if you do not wish to override any of these values-->
+ <reconnect-on-changed-schema xmlns="urn:opendaylight:netconf-node-topology">false</reconnect-on-changed-schema>
+ <connection-timeout-millis xmlns="urn:opendaylight:netconf-node-topology">20000</connection-timeout-millis>
+ <max-connection-attempts xmlns="urn:opendaylight:netconf-node-topology">0</max-connection-attempts>
+ <between-attempts-timeout-millis xmlns="urn:opendaylight:netconf-node-topology">2000</between-attempts-timeout-millis>
+ <sleep-factor xmlns="urn:opendaylight:netconf-node-topology">1.5</sleep-factor>
+ <!-- keepalive-delay set to 0 turns off keepalives-->
+ <keepalive-delay xmlns="urn:opendaylight:netconf-node-topology">120</keepalive-delay>
+</node> \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/action.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/action.template
new file mode 100644
index 0000000000..4d417c9f56
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/action.template
@@ -0,0 +1,3 @@
+{
+ "action": "${action}"
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_resource.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_resource.template
new file mode 100644
index 0000000000..fcc17ce2a6
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_resource.template
@@ -0,0 +1,43 @@
+{
+ "artifacts": {},
+ "toscaArtifacts": {},
+ "contactId": "cs0008",
+ "categories": [
+ {
+ "name": "Generic",
+ "normalizedName": "generic",
+ "uniqueId": "resourceNewCategory.generic",
+ "subcategories": [
+ {
+ "name": "Abstract",
+ "normalizedName": "abstract",
+ "uniqueId": "resourceNewCategory.generic.abstract",
+ "icons": [
+ "database"
+ ]
+ }
+ ]
+ }
+ ],
+ "description": "vendor software product",
+ "icon": "defaulticon",
+ "componentInstancesProperties": {},
+ "componentInstancesAttributes": {},
+ "name": "${software_product_name}",
+ "tags": [
+ "${software_product_name}"
+ ],
+ "capabilities": {},
+ "requirements": {},
+ "deploymentArtifacts": {},
+ "componentType": "RESOURCE",
+ "vendorName": "${vendor_name}",
+ "vendorRelease": "1.0",
+ "componentInstances": [],
+ "properties": [],
+ "attributes": [],
+ "groups": [],
+ "resourceType": "VF",
+ "csarUUID": "${software_product_id}",
+ "csarVersion": "1.0"
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_service.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_service.template
new file mode 100644
index 0000000000..e7ffdea681
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/catalog_service.template
@@ -0,0 +1,34 @@
+{
+ "artifacts": {},
+ "toscaArtifacts": {},
+ "contactId": "cs0008",
+ "categories": [
+ {
+ "name": "Network L1-3",
+ "normalizedName": "network l1-3",
+ "uniqueId": "serviceNewCategory.network l1-3",
+ "icons": [
+ "network_l_1-3"
+ ]
+ }
+ ],
+ "description": "catalog service description",
+ "icon": "network_l_1-3",
+ "componentInstancesProperties": {},
+ "componentInstancesAttributes": {},
+ "name": "${service_name}",
+ "tags": [
+ "robot-ete",
+ "${service_name}"
+ ],
+ "capabilities": {},
+ "requirements": {},
+ "deploymentArtifacts": {},
+ "componentType": "SERVICE",
+ "projectCode": "123456",
+ "componentInstances": [],
+ "properties": [],
+ "attributes": [],
+ "groups": [],
+ "serviceApiArtifacts": {}
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/entitlement_pool.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/entitlement_pool.template
new file mode 100644
index 0000000000..bcb04d2f71
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/entitlement_pool.template
@@ -0,0 +1,26 @@
+{
+ "name": "${entitlement_pool_name}",
+ "description": "vendor entitlement pool",
+ "thresholdValue": "99",
+ "thresholdUnits": "Absolute",
+ "entitlementMetric": {
+ "choice": "CPU",
+ "other": ""
+ },
+ "increments": "robot",
+ "aggregationFunction": {
+ "choice": "Peak",
+ "other": ""
+ },
+ "operationalScope": {
+ "choices": [
+ "Availability_Zone"
+ ],
+ "other": ""
+ },
+ "time": {
+ "choice": "Hour",
+ "other": ""
+ },
+ "manufacturerReferenceNumber": "robot12345"
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/feature_group.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/feature_group.template
new file mode 100644
index 0000000000..3d87b04737
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/feature_group.template
@@ -0,0 +1,11 @@
+{
+ "name": "${feature_group_name}",
+ "description": "vendor feature group",
+ "partNumber": "123abc456",
+ "addedLicenseKeyGroupsIds": [
+ "${key_group_id}"
+ ],
+ "addedEntitlementPoolsIds": [
+ "${entitlement_pool_id}"
+ ]
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/key_group.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/key_group.template
new file mode 100644
index 0000000000..2081261bcd
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/key_group.template
@@ -0,0 +1,11 @@
+{
+ "name": "${key_group_name}",
+ "description": "vendor license key group",
+ "operationalScope": {
+ "choices": [
+ "Tenant"
+ ],
+ "other": ""
+ },
+ "type": "Universal"
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_agreement.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_agreement.template
new file mode 100644
index 0000000000..6324d14022
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_agreement.template
@@ -0,0 +1,12 @@
+{
+ "name": "${license_agreement_name}",
+ "description": "vendor license agreement",
+ "requirementsAndConstrains": "abcdef",
+ "licenseTerm": {
+ "choice": "Fixed_Term",
+ "other": ""
+ },
+ "addedFeatureGroupsIds": [
+ "${feature_group_id}"
+ ]
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_model.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_model.template
new file mode 100644
index 0000000000..45fc83fcb7
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/license_model.template
@@ -0,0 +1,5 @@
+{
+ "vendorName": "${vendor_name}",
+ "description": "vendor license model",
+ "iconRef": "icon"
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/resource_instance.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/resource_instance.template
new file mode 100644
index 0000000000..215f8282d4
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/resource_instance.template
@@ -0,0 +1,10 @@
+{
+ "uniqueId": "${catalog_resource_id}${milli_timestamp}",
+ "posX": 406,
+ "posY": 248,
+ "name": "${catalog_resource_name}",
+ "componentVersion": "1.0",
+ "originType": "VF",
+ "icon": "defaulticon",
+ "componentUid": "${catalog_resource_id}"
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/software_product.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/software_product.template
new file mode 100644
index 0000000000..f8a47521ba
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/software_product.template
@@ -0,0 +1,16 @@
+{
+ "name": "${software_product_name}",
+ "description": "vendor software product",
+ "category": "resourceNewCategory.generic",
+ "subCategory": "resourceNewCategory.generic.abstract",
+ "licensingVersion": "1.0",
+ "vendorName": "${vendor_name}",
+ "vendorId": "${vendor_id}",
+ "icon": "icon",
+ "licensingData": {
+ "licenseAgreement": "${license_agreement_id}",
+ "featureGroups": [
+ "${feature_group_id}"
+ ]
+ }
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/user_remarks.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/user_remarks.template
new file mode 100644
index 0000000000..465115e6d9
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/asdc/user_remarks.template
@@ -0,0 +1 @@
+{"userRemarks":"${user_remarks}"} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/cinder_add_volume.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/cinder_add_volume.template
new file mode 100644
index 0000000000..544f41e3bf
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/cinder_add_volume.template
@@ -0,0 +1,9 @@
+{
+ "volume": {
+ "display_name": "${name}",
+ "display_description": "${description}",
+ "size": ${size},
+ "volume_type": "${type}",
+ "availability_zone": "${availability_zone}"
+ }
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/heat_add_stack.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/heat_add_stack.template
new file mode 100644
index 0000000000..c3af3172bd
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/heat_add_stack.template
@@ -0,0 +1,12 @@
+{
+ "files": {},
+ "disable_rollback": true,
+ "stack_name": "${stack_name}",
+ "parameters":
+ ${parameters}
+ ,
+ "template":
+ ${template}
+ ,
+ "timeout_mins": 60
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/keystone_get_auth.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/keystone_get_auth.template
new file mode 100644
index 0000000000..2d62202db7
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/keystone_get_auth.template
@@ -0,0 +1,9 @@
+{
+ "auth": {
+ "passwordCredentials": {
+ "username": "${username}",
+ "password": "${password}"
+ },
+ "tenantName": "${username}"
+ }
+}
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_network.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_network.template
new file mode 100644
index 0000000000..36382d47f4
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_network.template
@@ -0,0 +1,7 @@
+{
+ "network":
+ {
+ "name": "${name}",
+ "admin_state_up": false
+ }
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_subnet.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_subnet.template
new file mode 100644
index 0000000000..5a4264f8cc
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/neutron_add_subnet.template
@@ -0,0 +1,8 @@
+{
+ "subnet": {
+ "network_id": "${network_id}",
+ "ip_version": 4,
+ "name":"${subnet_name}",
+ "cidr": "${cidr}"
+ }
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_keypair.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_keypair.template
new file mode 100644
index 0000000000..52e2b068f4
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_keypair.template
@@ -0,0 +1,6 @@
+{
+ "keypair": {
+ "name": "${name}",
+ "public_key": "${publickey}"
+ }
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_server.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_server.template
new file mode 100644
index 0000000000..81578393c2
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/nova_add_server.template
@@ -0,0 +1,17 @@
+{
+ "server": {
+ "name": "${name}",
+ "imageRef": "${imageRef}",
+ "flavorRef": "${flavorRef}",
+ "config_drive": true,
+ "OS-DCF:diskConfig": "MANUAL",
+ "metadata": {
+ "${name}": "Server for attaching VVG"
+ },
+ "networks": [
+ {
+ "uuid": "00000000-0000-0000-0000-000000000000"
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_configpolicy.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_configpolicy.template
new file mode 100644
index 0000000000..e14b615db0
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_configpolicy.template
@@ -0,0 +1,31 @@
+{
+ "service": "TcaMetrics",
+ "location": "SampleServiceLocation",
+ "uuid": "/services/cdap-tca-hi-lo/instances/demo/configuration/metricsPerFunctionalRole/vFireWall",
+ "policyName": "${policy_name}",
+ "description": "vFirewall configuration Policy@CreatedBy:demo@CreatedBy:@ModifiedBy:demo@ModifiedBy:",
+ "configName": "SampleConfigName",
+ "templateVersion": "OpenSource.version.1",
+ "version": "1.0.0.5",
+ "priority": "1",
+ "policyScope": "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop",
+ "content": {
+ "thresholds": [{
+ "severity": "MAJOR",
+ "fieldPath": "$$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn",
+ "thresholdValue": "300",
+ "closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",
+ "version": "1.0.2",
+ "direction": "LESS_OR_EQUAL"
+ }, {
+ "severity": "CRITICAL",
+ "fieldPath": "$$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn",
+ "thresholdValue": "800",
+ "closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",
+ "version": "1.0.2",
+ "direction": "GREATER_OR_EQUAL"
+ }],
+ "functionalRole": "vFirewall",
+ "name": "0"
+ }
+}
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_createpolicy.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_createpolicy.template
new file mode 100644
index 0000000000..7c693e840b
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_createpolicy.template
@@ -0,0 +1,21 @@
+{
+ "policyConfigType": "BRMS_PARAM",
+ "policyName": "${policy_name}",
+ "policyDescription": "Create BRMS Param policy",
+ "attributes": {
+ "RULE": {
+ "templateName": "ClosedLoopDemo_closedLoopControlName",
+ "aaiNamedQueryUUID": "2",
+ "aaiPassword": "2",
+ "aaiPatternMatch": "2",
+ "aaiURL": "2",
+ "actor": "2",
+ "appcTopic": "2",
+ "closedLoopControlName": "2",
+ "msoPassword": "2",
+ "msoURL": "2",
+ "msoUsername": "2",
+ "aaiUsername": "3"
+ }
+ }
+}
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_deletepolicy.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_deletepolicy.template
new file mode 100644
index 0000000000..55510102f2
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_deletepolicy.template
@@ -0,0 +1,5 @@
+{
+ "pdpGroup": "default",
+ "policyComponent": "PDP",
+ "policyName": "${policy_name}"
+}
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_getconfigpolicy.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_getconfigpolicy.template
new file mode 100644
index 0000000000..34145e5b0d
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_getconfigpolicy.template
@@ -0,0 +1,8 @@
+{
+ "configAttributes" : {
+ },
+ "configName" : ".*",
+ "ecompName" : "DCAE",
+ "policyName" : "${config_policy_name}",
+ "unique" : true
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_opspolicy.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_opspolicy.template
new file mode 100644
index 0000000000..722c9dcae7
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_opspolicy.template
@@ -0,0 +1,25 @@
+
+{
+ "policyConfigType": "BRMS_PARAM",
+ "policyName": "${policy_name}",
+ "policyDescription": "Create BRMS Param policy for vFW",
+ "attributes": {
+ "RULE": {
+ "templateName": "ControlLoopDemo__closedLoopControlName",
+ "closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8",
+ "policyVersion": "v1.0",
+ "aaiNamedQueryUUID": "null",
+ "aaiPassword": "null",
+ "aaiURL": "null",
+ "actor": "APPC",
+ "appcTopic": "APPC-CL",
+ "msoPassword": "null",
+ "msoURL": "null",
+ "msoUsername": "null",
+ "aaiUsername": "null",
+ "notificationTopic": "POLICY-CL-MGT",
+ "aaiPatternMatch": 1
+ }
+ }
+}
+
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_pushpolicy.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_pushpolicy.template
new file mode 100644
index 0000000000..ce1d4859d1
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/policy/closedloop_pushpolicy.template
@@ -0,0 +1,5 @@
+{
+ "policyName" : "${policy_name}",
+ "policyType" : "${policy_type}",
+ "pdpGroup" : "default"
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/dnsscaling_preload.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/dnsscaling_preload.template
new file mode 100644
index 0000000000..278ee80da3
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/dnsscaling_preload.template
@@ -0,0 +1,92 @@
+{
+ "input": {
+ "vnf-topology-information": {
+ "vnf-topology-identifier": {
+ "service-type": "${service_type}",
+ "vnf-name": "${vf_module_name}",
+ "vnf-type": "${vf_module_type}",
+ "generic-vnf-name": "${generic_vnf_name}",
+ "generic-vnf-type": "${generic_vnf_type}"
+ },
+ "vnf-assignments": {
+ "availability-zones": [],
+ "vnf-networks": [],
+ "vnf-vms": []
+ },
+ "vnf-parameters": [
+ {
+ "vnf-parameter-name": "repo_url_blob",
+ "vnf-parameter-value": "${repo_url_blob}"
+ },
+ {
+ "vnf-parameter-name": "repo_url_artifacts",
+ "vnf-parameter-value": "${repo_url_artifacts}"
+ },
+ {
+ "vnf-parameter-name": "demo_artifacts_version",
+ "vnf-parameter-value": "${demo_artifacts_version}"
+ },
+ {
+ "vnf-parameter-name": "ecomp_private_net_id",
+ "vnf-parameter-value": "${ecomp_private_net_id}"
+ },
+ {
+ "vnf-parameter-name": "ecomp_private_subnet_id",
+ "vnf-parameter-value": "${ecomp_private_subnet_id}"
+ },
+ {
+ "vnf-parameter-name": "ecomp_private_net_cidr",
+ "vnf-parameter-value": "${ecomp_private_net_cidr}"
+ },
+ {
+ "vnf-parameter-name": "vlb_private_net_id",
+ "vnf-parameter-value": "${vlb_private_net_id}"
+ },
+ {
+ "vnf-parameter-name": "vlb_private_ip_0",
+ "vnf-parameter-value": "${vlb_private_ip_0}"
+ },
+ {
+ "vnf-parameter-name": "vlb_private_ip_1",
+ "vnf-parameter-value": "${vlb_private_ip_1}"
+ },
+ {
+ "vnf-parameter-name": "vdns_private_ip_0",
+ "vnf-parameter-value": "${vdns_private_ip_0}"
+ },
+ {
+ "vnf-parameter-name": "vdns_private_ip_1",
+ "vnf-parameter-value": "${vdns_private_ip_1}"
+ },
+ {
+ "vnf-parameter-name": "vdns_name_0",
+ "vnf-parameter-value": "${scaling_vdns_name_0}"
+ },
+ {
+ "vnf-parameter-name": "dcae_collector_ip",
+ "vnf-parameter-value": "${dcae_collector_ip}"
+ },
+ {
+ "vnf-parameter-name": "key_name",
+ "vnf-parameter-value": "${key_name}"
+ },
+ {
+ "vnf-parameter-name": "pub_key",
+ "vnf-parameter-value": "${pub_key}"
+ }
+ ]
+ },
+ "request-information": {
+ "request-id": "robot12",
+ "order-version": "1",
+ "notification-url": "openecomp.org",
+ "order-number": "1",
+ "request-action": "PreloadVNFRequest"
+ },
+ "sdnc-request-header": {
+ "svc-request-id": "robot12",
+ "svc-notification-url": "http:\/\/openecomp.org:8080\/adapters\/rest\/SDNCNotify",
+ "svc-action": "reserve"
+ }
+ }
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vfw_preload.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vfw_preload.template
new file mode 100644
index 0000000000..5b3f4a7a78
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vfw_preload.template
@@ -0,0 +1,128 @@
+{
+ "input": {
+ "vnf-topology-information": {
+ "vnf-topology-identifier": {
+ "service-type": "${service_type}",
+ "vnf-name": "${vf_module_name}",
+ "vnf-type": "${vf_module_type}",
+ "generic-vnf-name": "${generic_vnf_name}",
+ "generic-vnf-type": "${generic_vnf_type}"
+ },
+ "vnf-assignments": {
+ "availability-zones": [],
+ "vnf-networks": [],
+ "vnf-vms": []
+ },
+ "vnf-parameters": [
+ {
+ "vnf-parameter-name": "repo_url_blob",
+ "vnf-parameter-value": "${repo_url_blob}"
+ },
+ {
+ "vnf-parameter-name": "repo_url_artifacts",
+ "vnf-parameter-value": "${repo_url_artifacts}"
+ },
+ {
+ "vnf-parameter-name": "demo_artifacts_version",
+ "vnf-parameter-value": "${demo_artifacts_version}"
+ },
+ {
+ "vnf-parameter-name": "ecomp_private_net_id",
+ "vnf-parameter-value": "${ecomp_private_net_id}"
+ },
+ {
+ "vnf-parameter-name": "ecomp_private_subnet_id",
+ "vnf-parameter-value": "${ecomp_private_subnet_id}"
+ },
+ {
+ "vnf-parameter-name": "ecomp_private_net_cidr",
+ "vnf-parameter-value": "${ecomp_private_net_cidr}"
+ },
+ {
+ "vnf-parameter-name": "unprotected_private_net_id",
+ "vnf-parameter-value": "${unprotected_private_net_id}"
+ },
+ {
+ "vnf-parameter-name": "protected_private_net_id",
+ "vnf-parameter-value": "${protected_private_net_id}"
+ },
+ {
+ "vnf-parameter-name": "protected_private_net_cidr",
+ "vnf-parameter-value": "${protected_private_net_cidr}"
+ },
+ {
+ "vnf-parameter-name": "unprotected_private_net_cidr",
+ "vnf-parameter-value": "${unprotected_private_net_cidr}"
+ },
+ {
+ "vnf-parameter-name": "vfw_private_ip_0",
+ "vnf-parameter-value": "${vfw_private_ip_0}"
+ },
+ {
+ "vnf-parameter-name": "vfw_private_ip_1",
+ "vnf-parameter-value": "${vfw_private_ip_1}"
+ },
+ {
+ "vnf-parameter-name": "vfw_private_ip_2",
+ "vnf-parameter-value": "${vfw_private_ip_2}"
+ },
+ {
+ "vnf-parameter-name": "vpg_private_ip_0",
+ "vnf-parameter-value": "${vpg_private_ip_0}"
+ },
+ {
+ "vnf-parameter-name": "vpg_private_ip_1",
+ "vnf-parameter-value": "${vpg_private_ip_1}"
+ },
+ {
+ "vnf-parameter-name": "vsn_private_ip_0",
+ "vnf-parameter-value": "${vsn_private_ip_0}"
+ },
+ {
+ "vnf-parameter-name": "vsn_private_ip_1",
+ "vnf-parameter-value": "${vsn_private_ip_1}"
+ },
+ {
+ "vnf-parameter-name": "vfw_name_0",
+ "vnf-parameter-value": "${vfw_name_0}"
+ },
+ {
+ "vnf-parameter-name": "vpg_name_0",
+ "vnf-parameter-value": "${vpg_name_0}"
+ },
+ {
+ "vnf-parameter-name": "vsn_name_0",
+ "vnf-parameter-value": "${vsn_name_0}"
+ },
+ {
+ "vnf-parameter-name": "dcae_collector_ip",
+ "vnf-parameter-value": "${dcae_collector_ip}"
+ },
+ {
+ "vnf-parameter-name": "dcae_collector_port",
+ "vnf-parameter-value": "${dcae_collector_port}"
+ },
+ {
+ "vnf-parameter-name": "key_name",
+ "vnf-parameter-value": "${key_name}"
+ },
+ {
+ "vnf-parameter-name": "pub_key",
+ "vnf-parameter-value": "${pub_key}"
+ }
+ ]
+ },
+ "request-information": {
+ "request-id": "robot12",
+ "order-version": "1",
+ "notification-url": "openecomp.org",
+ "order-number": "1",
+ "request-action": "PreloadVNFRequest"
+ },
+ "sdnc-request-header": {
+ "svc-request-id": "robot12",
+ "svc-notification-url": "http:\/\/mso.onap-mso:8080\/adapters\/rest\/SDNCNotify",
+ "svc-action": "reserve"
+ }
+ }
+}
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vlb_preload.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vlb_preload.template
new file mode 100644
index 0000000000..acc3c9d16c
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vlb_preload.template
@@ -0,0 +1,104 @@
+{
+ "input": {
+ "vnf-topology-information": {
+ "vnf-topology-identifier": {
+ "service-type": "${service_type}",
+ "vnf-name": "${vf_module_name}",
+ "vnf-type": "${vf_module_type}",
+ "generic-vnf-name": "${generic_vnf_name}",
+ "generic-vnf-type": "${generic_vnf_type}"
+ },
+ "vnf-assignments": {
+ "availability-zones": [],
+ "vnf-networks": [],
+ "vnf-vms": []
+ },
+ "vnf-parameters": [
+ {
+ "vnf-parameter-name": "repo_url_blob",
+ "vnf-parameter-value": "${repo_url_blob}"
+ },
+ {
+ "vnf-parameter-name": "repo_url_artifacts",
+ "vnf-parameter-value": "${repo_url_artifacts}"
+ },
+ {
+ "vnf-parameter-name": "demo_artifacts_version",
+ "vnf-parameter-value": "${demo_artifacts_version}"
+ },
+ {
+ "vnf-parameter-name": "ecomp_private_net_id",
+ "vnf-parameter-value": "${ecomp_private_net_id}"
+ },
+ {
+ "vnf-parameter-name": "ecomp_private_subnet_id",
+ "vnf-parameter-value": "${ecomp_private_subnet_id}"
+ },
+ {
+ "vnf-parameter-name": "ecomp_private_net_cidr",
+ "vnf-parameter-value": "${ecomp_private_net_cidr}"
+ },
+ {
+ "vnf-parameter-name": "vlb_private_net_id",
+ "vnf-parameter-value": "${vlb_private_net_id}"
+ },
+ {
+ "vnf-parameter-name": "vlb_private_net_cidr",
+ "vnf-parameter-value": "${vlb_private_net_cidr}"
+ },
+ {
+ "vnf-parameter-name": "vlb_private_ip_0",
+ "vnf-parameter-value": "${vlb_private_ip_0}"
+ },
+ {
+ "vnf-parameter-name": "vlb_private_ip_1",
+ "vnf-parameter-value": "${vlb_private_ip_1}"
+ },
+ {
+ "vnf-parameter-name": "vdns_private_ip_0",
+ "vnf-parameter-value": "${vdns_private_ip_0}"
+ },
+ {
+ "vnf-parameter-name": "vdns_private_ip_1",
+ "vnf-parameter-value": "${vdns_private_ip_1}"
+ },
+ {
+ "vnf-parameter-name": "vlb_name_0",
+ "vnf-parameter-value": "${vlb_name_0}"
+ },
+ {
+ "vnf-parameter-name": "vdns_name_0",
+ "vnf-parameter-value": "${vdns_name_0}"
+ },
+ {
+ "vnf-parameter-name": "dcae_collector_ip",
+ "vnf-parameter-value": "${dcae_collector_ip}"
+ },
+ {
+ "vnf-parameter-name": "dcae_collector_port",
+ "vnf-parameter-value": "${dcae_collector_port}"
+ },
+ {
+ "vnf-parameter-name": "key_name",
+ "vnf-parameter-value": "${key_name}"
+ },
+ {
+ "vnf-parameter-name": "pub_key",
+ "vnf-parameter-value": "${pub_key}"
+ }
+ ]
+ },
+ "request-information": {
+ "request-id": "robot12",
+ "order-version": "1",
+ "notification-url": "openecomp.org",
+ "order-number": "1",
+ "request-action": "PreloadVNFRequest"
+ },
+ "sdnc-request-header": {
+ "svc-request-id": "robot12",
+ "svc-notification-url": "http:\/\/openecomp.org:8080\/adapters\/rest\/SDNCNotify",
+ "svc-action": "reserve"
+ }
+ }
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vvg_preload.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vvg_preload.template
new file mode 100644
index 0000000000..83095e9db3
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/sdnc/vvg_preload.template
@@ -0,0 +1,36 @@
+{
+ "input": {
+ "vnf-topology-information": {
+ "vnf-topology-identifier": {
+ "service-type": "${service_type}",
+ "vnf-name": "${vf_module_name}",
+ "vnf-type": "${vf_module_type}",
+ "generic-vnf-name": "${generic_vnf_name}",
+ "generic-vnf-type": "${generic_vnf_type}"
+ },
+ "vnf-assignments": {
+ "availability-zones": [],
+ "vnf-networks": [],
+ "vnf-vms": []
+ },
+ "vnf-parameters": [
+ {
+ "vnf-parameter-name": "nova_instance",
+ "vnf-parameter-value": "${nova_instance}"
+ }
+ ]
+ },
+ "request-information": {
+ "request-id": "robot12",
+ "order-version": "1",
+ "notification-url": "openecomp.org",
+ "order-number": "1",
+ "request-action": "PreloadVNFRequest"
+ },
+ "sdnc-request-header": {
+ "svc-request-id": "robot12",
+ "svc-notification-url": "http:\/\/openecomp.org:8080\/adapters\/rest\/SDNCNotify",
+ "svc-action": "reserve"
+ }
+ }
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/template_example.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/template_example.template
new file mode 100644
index 0000000000..42583f14b8
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/template_example.template
@@ -0,0 +1,6 @@
+{
+ "requestReferences": {
+ "instanceId": "${instanceId}",
+ "requestId": "${requestId}"
+ }
+} \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_stream_enable.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_stream_enable.template
new file mode 100644
index 0000000000..c50363346a
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_stream_enable.template
@@ -0,0 +1,4 @@
+ {
+ "id" : "${stream}",
+ "is-enabled" : "true"
+ }
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_streams_enable.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_streams_enable.template
new file mode 100644
index 0000000000..8f5fec6160
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/vfw_pg_streams_enable.template
@@ -0,0 +1,7 @@
+{
+ "pg-streams" : {
+ "pg-stream" : [
+${pgstreams}
+ ]
+ }
+}
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/web/index.html.template b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/web/index.html.template
new file mode 100644
index 0000000000..90ab320983
--- /dev/null
+++ b/kubernetes/config/docker/init/src/config/robot/robot/assets/templates/web/index.html.template
@@ -0,0 +1,116 @@
+<html><head>
+ <title>Quicklinks To Running Instances</title>
+ </head>
+
+ <body>
+ <h1>The Portal</h1>
+
+ The portal is the entry point to design/provision/operate ONAP. From there you can get to SDC, VID and Policy portals.
+
+ The portal can be found at:<p>
+
+ <a href="http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/login.htm">Portal</a>
+ <p>
+ One requires role based user names and passwords to receive the full portal functionality. In the demo setup we pre provisioned:
+ <p>
+ <ul>
+ <li> jh0003 Admin </li>
+ <li> cs0008 Designer </li>
+ <li> jm0007 Tester </li>
+ <li> op0001 Operator </li>
+ <li> gv0001 Governance </li>
+ <li> pm0001 Product Manager </li>
+ <li> ps0001 Product Strategy </li>
+ </ul>
+ <p>
+ the password for all of them is: demo123456!
+
+ <h1> The Reality </h1>
+
+ As everything should go through the portal there are many subsystems which have there own GUI or API which come in very handy when debugging things. Here the most important once.
+
+ <h2> SDN-C </h2>
+
+ <a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@${sdnc}:8282/apidoc/explorer/index.html"> Controller </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p>
+
+ <a href="http://${sdnc}:8843/signup"> To sign up </a> <p>
+ <a href="http://${sdnc}:8843/login"> Admin </a> <p>
+
+ <h2> App-C </h2>
+
+ <a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@${appc}:8282/apidoc/explorer/index.html"> Controller </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p>
+
+ <h2> Policy </h2>
+
+ <a href="http://healthcheck:zb!XztG34@${policy}:6969/healthcheck"> Healthcheck </a> <p>
+
+ <h2> MSO </h2>
+
+ <a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@${mso}:9990/"> JBOSS GUI </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p>
+
+ <a href="http://${mso}:8080/camunda"> Camunda GUI </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p>
+
+ <h2> DCAE </h2>
+
+ <h3> General GUIs </h3>
+ <a href="http://console:ZjJkYjllMjljMTI2M2Iz@${dcae_controller}:9998/resources"> DCAE Controller </a>
+ This might show up empty in a web browser as no content type is set in the response. If that's the case use curl: <p>
+
+ curl http://console:ZjJkYjllMjljMTI2M2Iz@${dcae_controller}:9998/resources <p>
+
+ <a href="http://${dcae_cdap}:9999/ns/TCA/apps/dcae-tca/programs/flows/TCAVESCollectorFlow/runs"> CDAP GUI </a> <p>
+
+ <h3> DCAE internal Message Router </h3>
+
+ <a href="http://${dcae_coll}:3904/topics"> Topics </a> <p>
+
+ <a href="http://${dcae_coll}:3904/events/unauthenticated.SEC_MEASUREMENT_OUTPUT/monitor/0?timeout=10000"> MR topic for collector to TCA </a> <p>
+
+ <a href="http://${dcae_coll}:3904/events/unauthenticated.TCA_EVENT_OUTPUT/monitor/0?timeout=10000"> MR topic for TCA alert to Policy </a> <p>
+
+ <h2> Message Router used between core components </h2>
+
+ <a href="http://${message_router}:3904/topics"> List of Topics </a> <p>
+
+ <h3> Topics of Interest </h3>
+
+ For topics without authentication one can monitor the traffic on a topic with: <p>
+
+ http://${message_router}:3904/events/PUT_TOPIC_HERE/group1/C1?timeout=5000 <p>
+
+ some important once listed below. <p>
+
+ <ul>
+ <li> <a href="http://${message_router}:3904/events/APPC-CL/monitor/0?timeout=10000"> APPC-CL Topic -- Policy Publishes Requests and APP-C publishes response </a>
+ <li> <a href="http://${message_router}:3904/events/PDPP-CONFIGURATION/monitor/0?timeout=10000"> PDPD-CONFIGURATION Topic </a>
+ <li> <a href="http://${message_router}:3904/events/POLICY-CL-MGT/monitor/0?timeout=10000"> POLICY-CL-MGT Topic -- Control loop operational policy </a>
+ <li> <a href="http://${message_router}:3904/events/DCAE-CL-EVENT/monitor/0?timeout=10000"> DCAE-CL-EVENT Topic -- Provides the Analytics output from DCAE</a>
+
+ </ul>
+
+ <h1> SSH to VM </h1>
+
+ The following links will open a shell and ssh to the various running VMs (at least on a Mac). It assumes that the .ssh/config file has been set appropriately and /etc/hosts has been updated to the running instance.<p>
+
+ <a href="ssh://${aai}"> AAI </a><p>
+ <a href="ssh://${policy}"> Policy </a><p>
+ <a href="ssh://${sdc}"> SDC </a><p>
+ <a href="ssh://${portal}"> Portal </a><p>
+ <a href="ssh://${dcae_controller}"> DCAE </a><p>
+ <a href="ssh://${appc}"> APP-C </a><p>
+ <a href="ssh://${mso}"> MSO </a><p>
+ <a href="ssh://${sdnc}"> SDN-C </a><p>
+ <a href="ssh://${vid}"> VID </a><p>
+ <a href="ssh://${message_router}"> Message Router </a><p>
+ <a href="ssh://${robot}"> Robot Framework for testing </a><p>
+ <a href="ssh://${onapdns}"> DNS server for management network </a><p>
+
+ Inside the VM you can list the docker containers by typing: <p>
+ docker ps <p>
+ and can get a shell prompt by executing the bash command.
+ For example: <p> docker exec -it openecompete_container bash <p>
+
+
+
+
+</body></html>