diff options
Diffstat (limited to 'kubernetes/config/docker/init/src/config/robot/robot/assets')
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> |