Add option to use OAM network for Robot public net
[demo.git] / heat / ONAP / onap_openstack.yaml
index a63ff1a..11ce2a0 100644 (file)
@@ -170,6 +170,11 @@ parameters:
     type: string
     description: CIDR of the OAM ONAP network
 
+  use_oam_net_for_robot:
+    type: boolean
+    description: Whether to use oam_network for Robot VNFs or not.  The default is false, which uses public_net_id.  Set to true if the Robot VNFs are unable to bind to the public network (needed by TLAB).
+    default: false
+
   ### Private IP addresses ###
   aai1_ip_addr:
     type: string
@@ -207,6 +212,8 @@ parameters:
     type: string
   aaf_ip_addr:
     type: string
+  sms_ip_addr:
+    type: string
   nbi_ip_addr:
     type: string
 
@@ -300,6 +307,8 @@ parameters:
     type: string
   aaf_repo:
     type: string
+  sms_repo:
+    type: string
   oof_repo:
     type: string
 
@@ -410,6 +419,8 @@ parameters:
     type: string
   mvim_docker:
     type: string
+  mvim_openstack_docker:
+    type: string
   uui_docker:
     type: string
   esr_docker:
@@ -424,6 +435,8 @@ parameters:
     type: string
   aaf_docker:
     type: string
+  sms_docker:
+    type: string
   nbi_docker:
     type: string
   dbcl_docker:
@@ -464,13 +477,6 @@ parameters:
   vfc_multivimproxy_docker:
     type: string
 
-  cbam_username:
-    type: string
-  cbam_password:
-    type: string
-  cbam_ip:
-    type: string
-
   aai_branch:
     type: string
   appc_branch:
@@ -501,6 +507,8 @@ parameters:
     type: string
   aaf_branch:
     type: string
+  sms_branch:
+    type: string
   oof_branch:
     type: string
 
@@ -647,6 +655,7 @@ resources:
             __music_ip_addr__: { get_param: music_ip_addr }
             __oof_ip_addr__: { get_param: oof_ip_addr }
             __aaf_ip_addr__: { get_param: aaf_ip_addr }
+            __sms_ip_addr__: { get_param: sms_ip_addr }
             __nbi_ip_addr__: { get_param: nbi_ip_addr }
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
@@ -678,6 +687,7 @@ resources:
             echo "__music_ip_addr__" > /opt/config/music_ip_addr.txt
             echo "__oof_ip_addr__" > /opt/config/oof_ip_addr.txt
             echo "__aaf_ip_addr__" > /opt/config/aaf_ip_addr.txt
+            echo "__sms_ip_addr__" > /opt/config/sms_ip_addr.txt
             echo "__nbi_ip_addr__" > /opt/config/nbi_ip_addr.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
             echo "__dns_forwarder__" > /opt/config/dns_forwarder.txt
@@ -1029,11 +1039,15 @@ resources:
             __aai2_ip_addr__: { get_param: aai2_ip_addr }
             __appc_ip_addr__: { get_param: appc_ip_addr }
             __dcae_ip_addr__: { get_param: dcae_ip_addr }
+            __dcae_collector_ip__: { get_param: dcae_ip_addr }
             __so_ip_addr__: { get_param: so_ip_addr }
             __mr_ip_addr__: { get_param: mr_ip_addr }
             __policy_ip_addr__: { get_param: policy_ip_addr }
             __portal_ip_addr__: { get_param: portal_ip_addr }
             __sdc_ip_addr__: { get_param: sdc_ip_addr }
+            __sdc_fe_ip_addr__: { get_param: sdc_ip_addr }
+            __sdc_be_ip_addr__: { get_param: sdc_ip_addr }
+            __sdc_be_onboard_ip_addr__: { get_param: sdc_ip_addr }
             __sdnc_ip_addr__: { get_param: sdnc_ip_addr }
             __vid_ip_addr__: { get_param: vid_ip_addr }
             __clamp_ip_addr__: { get_param: clamp_ip_addr }
@@ -1045,11 +1059,15 @@ resources:
             __external_dns__: { get_param: external_dns }
             __ubuntu_1404_image__: { get_param: ubuntu_1404_image }
             __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
+            __vm_image_name__: { get_param: ubuntu_1404_image }
             __vm_flavor__: { get_param: flavor_medium }
             __public_net_id__: { get_param: public_net_id }
+            __oam_network_id__: { get_resource: oam_onap }
             __script_version__: { get_param: artifacts_version }
             __robot_repo__: { get_param: robot_repo }
             __docker_version__: { get_param: robot_docker }
+            __vnf_pub_key__: { get_param: pub_key }
+            __use_oam_net_for_robot__: { get_param: use_oam_net_for_robot }
           template: |
             #!/bin/bash
 
@@ -1073,14 +1091,16 @@ resources:
             echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
             echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt
             echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
+            echo "__dcae_collector_ip__" > /opt/config/dcae_collector_ip.txt
             echo "__so_ip_addr__" > /opt/config/so_ip_addr.txt
             echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
             echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
             echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt
             echo "__portal_ip_addr__" > /opt/config/cli_ip_addr.txt
             echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
-            echo "__sdc_ip_addr__" > /opt/config/sdc_be_ip_addr.txt
-            echo "__sdc_ip_addr__" > /opt/config/sdc_fe_ip_addr.txt
+            echo "__sdc_fe_ip_addr__" > /opt/config/sdc_fe_ip_addr.txt
+            echo "__sdc_be_ip_addr__" > /opt/config/sdc_be_ip_addr.txt
+            echo "__sdc_be_onboard_ip_addr__" > /opt/config/sdc_be_onboard_ip_addr.txt
             echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt
             echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
             echo "__clamp_ip_addr__" > /opt/config/clamp_ip_addr.txt
@@ -1095,9 +1115,20 @@ resources:
             echo "__vm_flavor__" > /opt/config/vm_flavor.txt
             echo "__ubuntu_1404_image__" > /opt/config/ubuntu_1404_image.txt
             echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
+            echo "__vm_image_name__" > /opt/config/vm_image_name.txt
             echo "__script_version__" > /opt/config/script_version.txt
-            echo "__public_net_id__" > /opt/config/public_net_id.txt
+            if [ "__use_oam_net_for_robot__" != "False" ] && [ "__use_oam_net_for_robot__" != "false" ]; then
+              echo "__oam_network_id__" > /opt/config/public_net_id.txt
+            else
+              echo "__public_net_id__" > /opt/config/public_net_id.txt
+            fi
+            echo "__oam_network_id__" > /opt/config/oam_network_id.txt
+            echo "__use_oam_net_for_robot__" > /opt/config/use_oam_net_for_robot.txt
+            echo "__vnf_pub_key__" > /opt/config/vnf_pub_key.txt
             echo "__robot_repo__" > /opt/config/remote_repo.txt
+            echo "localhost" > /opt/config/log_elasticsearch_ip_addr.txt # these tests will be skipped by robot
+            echo "localhost" > /opt/config/log_logstash_ip_addr.txt # these tests will be skipped by robot
+            echo "localhost" > /opt/config/log_kibana_ip_addr.txt # these tests will be skipped by robot
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh
@@ -1635,7 +1666,7 @@ resources:
     type: OS::Nova::Server
     properties:
       image: { get_param: ubuntu_1604_image }
-      flavor: { get_param: flavor_xxlarge }
+      flavor: { get_param: flavor_xlarge }
       name:
         str_replace:
           template: base-multi-service
@@ -1674,14 +1705,12 @@ resources:
             __vnfsdk_branch__: { get_param: vnfsdk_branch }
             __msb_docker__: { get_param: msb_docker }
             __mvim_docker__: { get_param: mvim_docker }
+            __mvim_openstack_docker__: { get_param: mvim_openstack_docker }
             __uui_docker__: { get_param: uui_docker }
             __esr_docker__: { get_param: esr_docker }
             __vnfsdk_repo__: { get_param: vnfsdk_repo }
             __vfc_nokia_docker__: { get_param: vfc_nokia_docker }
             __vfc_nokiav2_docker__: { get_param: vfc_nokiav2_docker }
-            __cbam_ip__: { get_param: cbam_ip }
-            __cbam_username__: { get_param: cbam_username }
-            __cbam_password__: { get_param: cbam_password }
             __vfc_ztevnfmdriver_docker__: { get_param: vfc_ztevnfmdriver_docker }
             __vfc_multivimproxy_docker__: { get_param: vfc_multivimproxy_docker }
             __vfc_ztesdncdriver_docker__: { get_param: vfc_ztesdncdriver_docker }
@@ -1714,12 +1743,10 @@ resources:
             echo "__vnfsdk_branch__" > /opt/config/vnfsdk_branch.txt
             echo "__msb_docker__" > /opt/config/msb_docker.txt
             echo "__mvim_docker__" > /opt/config/mvim_docker.txt
+            echo "__mvim_openstack_docker__" > /opt/config/mvim_openstack_docker.txt
             echo "__uui_docker__" > /opt/config/uui_docker.txt
             echo "__esr_docker__" > /opt/config/esr_docker.txt
             echo "__vnfsdk_repo__" > /opt/config/vnfsdk_repo.txt
-            echo "__cbam_ip__" > /opt/config/cbam_ip.txt
-            echo "__cbam_username__" > /opt/config/cbam_username.txt
-            echo "__cbam_password__" > /opt/config/cbam_password.txt
 
             echo "export NOKIA_DOCKER_VER=__vfc_nokia_docker__" >> /opt/config/vfc_docker.txt
             echo "export NOKIAV2_DOCKER_VER=__vfc_nokiav2_docker__" >> /opt/config/vfc_docker.txt
@@ -1781,7 +1808,7 @@ resources:
     type: OS::Nova::Server
     properties:
       image: { get_param: ubuntu_1604_image }
-      flavor: { get_param: flavor_large }
+      flavor: { get_param: flavor_xlarge }
       name:
         str_replace:
           template: base-dcae
@@ -2177,6 +2204,74 @@ resources:
             chmod +x aaf_install.sh
             ./aaf_install.sh
 
+  # SMS instantiation
+  sms_private_port:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: sms_ip_addr }}]
+      security_groups:
+      - { get_resource: onap_sg }
+
+  sms_floating_ip:
+    type: OS::Neutron::FloatingIP
+    properties:
+      floating_network_id: { get_param: public_net_id }
+      port_id: { get_resource: sms_private_port }
+
+  sms_vm:
+    type: OS::Nova::Server
+    properties:
+      image: { get_param: ubuntu_1604_image }
+      flavor: { get_param: flavor_medium }
+      name:
+        str_replace:
+          template: base-sms
+          params:
+            base: { get_param: vm_base_name }
+      key_name: { get_resource: vm_key }
+      networks:
+        - port: { get_resource: sms_private_port }
+      user_data_format: RAW
+      user_data:
+        str_replace:
+          params:
+            __nexus_repo__: { get_param: nexus_repo }
+            __nexus_docker_repo__: { get_param: nexus_docker_repo }
+            __nexus_username__: { get_param: nexus_username }
+            __nexus_password__: { get_param: nexus_password }
+            __artifacts_version__: { get_param: artifacts_version }
+            __dns_ip_addr__: { get_param: dns_ip_addr }
+            __docker_version__: { get_param: sms_docker }
+            __cloud_env__: { get_param: cloud_env }
+            __external_dns__: { get_param: external_dns }
+            __sms_repo__: { get_param: sms_repo }
+            __gerrit_branch__: { get_param: sms_branch }
+            __local_ip__: { get_param: sms_ip_addr }
+          template: |
+            #!/bin/bash
+
+            # Create configuration files
+            mkdir -p /opt/config
+            echo "__nexus_repo__" > /opt/config/nexus_repo.txt
+            echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
+            echo "__nexus_username__" > /opt/config/nexus_username.txt
+            echo "__nexus_password__" > /opt/config/nexus_password.txt
+            echo "__artifacts_version__" > /opt/config/artifacts_version.txt
+            echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
+            echo "__docker_version__" > /opt/config/docker_version.txt
+            echo "__cloud_env__" > /opt/config/cloud_env.txt
+            echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__sms_repo__" > /opt/config/remote_repo.txt
+            echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
+            echo "__local_ip__" > /opt/config/local_ip.txt
+
+            # Download and run install script
+            curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/sms_install.sh -o /opt/sms_install.sh
+            cd /opt
+            chmod +x sms_install.sh
+            ./sms_install.sh
+
   # NBI instantiation
   nbi_private_port:
     type: OS::Neutron::Port