Automatically Set Tenant in Robot VM
[demo.git] / heat / ONAP / onap_openstack_float.yaml
index 4187dd5..f6affeb 100644 (file)
@@ -236,6 +236,10 @@ parameters:
     type: string
     description: VID Floating IP Address
 
+  clamp_float_ip:
+    type: string
+    description: CLAMP Floating IP Address
+
   ### Private IP addresses ###
   oam_network_cidr:
     type: string
@@ -313,6 +317,10 @@ parameters:
     type: string
     description: VID IP Address
 
+  clamp_ip_addr:
+    type: string
+    description: CLAMP IP Address
+
 
   ###########################
   #                         #
@@ -352,6 +360,60 @@ parameters:
     type: string
     description: DCAE Code Version Number
 
+  #####################
+  #                   #
+  # ONAP repositories #
+  #                   #
+  #####################
+
+  aai_repo:
+    type: string
+    description: AAI repository
+
+  appc_repo:
+    type: string
+    description: APPC repository
+
+  dcae_repo:
+    type: string
+    description: DCAE repository
+
+  mr_repo:
+    type: string
+    description: Message Router repository
+
+  mso_repo:
+    type: string
+    description: MSO repository
+
+  policy_repo:
+    type: string
+    description: Policy repository
+
+  portal_repo:
+    type: string
+    description: Portal repository
+
+  robot_repo:
+    type: string
+    description: Robot repository
+
+  sdc_repo:
+    type: string
+    description: SDC repository
+
+  sdnc_repo:
+    type: string
+    description: SDNC repository
+
+  vid_repo:
+    type: string
+    description: VID repository
+
+  clamp_repo:
+    type: string
+    description: CLAMP repository
+
 
 #############
 #           #
@@ -381,24 +443,24 @@ resources:
 
 
   # ONAP management private network
-  oam_ecomp:
+  oam_onap:
     type: OS::Neutron::Net
     properties:
       name:
         str_replace:
-          template: oam_ecomp_rand
+          template: oam_onap_rand
           params:
             rand: { get_resource: random-str }
 
-  oam_ecomp_subnet:
+  oam_onap_subnet:
     type: OS::Neutron::Subnet
     properties:
       name:
         str_replace:
-          template: oam_ecomp_rand
+          template: oam_onap_rand
           params:
             rand: { get_resource: random-str }
-      network_id: { get_resource: oam_ecomp }
+      network_id: { get_resource: oam_onap }
       cidr: { get_param: oam_network_cidr }
       dns_nameservers: { get_param: dns_list }
 
@@ -415,15 +477,15 @@ resources:
     type: OS::Neutron::RouterInterface
     properties:
       router_id: { get_resource: router }
-      subnet_id: { get_resource: oam_ecomp_subnet }
+      subnet_id: { get_resource: oam_onap_subnet }
 
 
   # DNS Server instantiation
   dns_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dns_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: dns_ip_addr }}]
 
   dns_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -451,7 +513,7 @@ resources:
           params:
             __nexus_repo__: { get_param: nexus_repo }
             __artifacts_version__: { get_param: artifacts_version }
-            __oam_network_cidr__: { get_attr: [oam_ecomp_subnet, cidr] }
+            __oam_network_cidr__: { get_attr: [oam_onap_subnet, cidr] }
             __dns_ip_addr__: { get_param: dns_ip_addr }
             __aai1_ip_addr__: { get_param: aai1_ip_addr }
             __aai2_ip_addr__: { get_param: aai2_ip_addr }
@@ -466,6 +528,7 @@ resources:
             __sdc_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 }
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
           template: |
@@ -491,6 +554,7 @@ resources:
             echo "__sdc_ip_addr__" > /opt/config/sdc_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
             echo "__external_dns__" > /opt/config/external_dns.txt
 
             # Download and run install script
@@ -504,8 +568,8 @@ resources:
   aai1_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai1_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: aai1_ip_addr }}]
 
   aai1_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -543,6 +607,7 @@ resources:
             __cloud_env__: { get_param: cloud_env }
             __gerrit_branch__: { get_param: gerrit_branch }
             __external_dns__: { get_param: external_dns }
+            __aai_repo__: { get_param: aai_repo }
           template: |
             #!/bin/bash
 
@@ -560,19 +625,20 @@ resources:
             echo "aai_instance_1" > /opt/config/aai_instance.txt
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__aai_repo__" > /opt/config/remote_repo.txt
 
             # Download and run install script
-            curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aai2_install.sh -o /opt/aai2_install.sh
+            curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aai_install.sh -o /opt/aai_install.sh
             cd /opt
-            chmod +x aai2_install.sh
-            ./aai2_install.sh
+            chmod +x aai_install.sh
+            ./aai_install.sh
 
 
   aai2_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai2_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: aai2_ip_addr }}]
 
   aai2_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -609,6 +675,7 @@ resources:
             __cloud_env__: { get_param: cloud_env }
             __gerrit_branch__: { get_param: gerrit_branch }
             __external_dns__: { get_param: external_dns }
+            __aai_repo__: { get_param: aai_repo }
           template: |
             #!/bin/bash
 
@@ -626,20 +693,21 @@ resources:
             echo "aai_instance_2" > /opt/config/aai_instance.txt
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__aai_repo__" > /opt/config/remote_repo.txt
 
             # Download and run install script
-            curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aai2_install.sh -o /opt/aai2_install.sh
+            curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aai_install.sh -o /opt/aai_install.sh
             cd /opt
-            chmod +x aai2_install.sh
-            ./aai2_install.sh
+            chmod +x aai_install.sh
+            ./aai_install.sh
 
 
   # MSO instantiation
   mso_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mso_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: mso_ip_addr }}]
 
   mso_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -681,6 +749,7 @@ resources:
             __gerrit_branch__: { get_param: gerrit_branch }
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
+            __mso_repo__: { get_param: mso_repo }
           template: |
             #!/bin/bash
 
@@ -702,6 +771,7 @@ resources:
             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__mso_repo__" > /opt/config/remote_repo.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/mso_install.sh -o /opt/mso_install.sh
@@ -714,8 +784,8 @@ resources:
   mrouter_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: mr_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: mr_ip_addr }}]
 
   mrouter_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -750,6 +820,7 @@ resources:
             __gerrit_branch__: { get_param: gerrit_branch }
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
+            __mr_repo__: { get_param: mr_repo }
           template: |
             #!/bin/bash
 
@@ -764,6 +835,7 @@ resources:
             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__mr_repo__" > /opt/config/remote_repo.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/mr_install.sh -o /opt/mr_install.sh
@@ -776,8 +848,8 @@ resources:
   robot_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: robot_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: robot_ip_addr }}]
 
   robot_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -807,9 +879,10 @@ resources:
             __nexus_docker_repo__: { get_param: nexus_docker_repo }
             __nexus_username__: { get_param: nexus_username }
             __nexus_password__: { get_param: nexus_password }
-            __network_name__: { get_attr: [oam_ecomp, name] }
+            __network_name__: { get_attr: [oam_onap, name] }
             __openstack_username__: { get_param: openstack_username }
             __openstack_api_key__: { get_param : openstack_api_key }
+            __openstack_tenant_id__: { get_param: openstack_tenant_id }
             __artifacts_version__: { get_param: artifacts_version }
             __openstack_region__: { get_param: openstack_region }
             __dns_ip_addr__: { get_param: dns_ip_addr }
@@ -829,6 +902,9 @@ resources:
             __vid_ip_addr__: { get_param: vid_ip_addr }
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
+            __vm_image_name__: { get_param: ubuntu_1404_image }
+            __vm_flavor__: { get_param: flavor_medium }
+            __robot_repo__: { get_param: robot_repo }
           template: |
             #!/bin/bash
 
@@ -841,6 +917,7 @@ resources:
             echo "__network_name__" > /opt/config/network.txt
             echo "__openstack_username__" > /opt/config/openstack_username.txt
             echo "__openstack_api_key__" > /opt/config/openstack_password.txt
+            echo "__openstack_tenant_id__" > /opt/config/openstack_tenant_id.txt
             echo "__openstack_region__" > /opt/config/region.txt
             echo "__artifacts_version__" > /opt/config/artifacts_version.txt
             echo "__docker_version__" > /opt/config/docker_version.txt
@@ -860,6 +937,9 @@ resources:
             echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__vm_image_name__" > /opt/config/vm_image_name.txt
+            echo "__vm_flavor__" > /opt/config/vm_flavor.txt
+            echo "__robot_repo__" > /opt/config/remote_repo.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh
@@ -872,8 +952,8 @@ resources:
   vid_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: vid_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: vid_ip_addr }}]
 
   vid_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -909,6 +989,7 @@ resources:
             __gerrit_branch__: { get_param: gerrit_branch }
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
+            __vid_repo__: { get_param: vid_repo }
           template: |
             #!/bin/bash
 
@@ -924,6 +1005,7 @@ resources:
             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__vid_repo__" > /opt/config/remote_repo.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh
@@ -936,8 +1018,8 @@ resources:
   sdnc_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: sdnc_ip_addr }}]
 
   sdnc_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -973,6 +1055,7 @@ resources:
             __gerrit_branch__: { get_param: gerrit_branch }
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
+            __sdnc_repo__: { get_param: sdnc_repo }
           template: |
             #!/bin/bash
 
@@ -988,6 +1071,7 @@ resources:
             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__sdnc_repo__" > /opt/config/remote_repo.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh
@@ -1000,8 +1084,8 @@ resources:
   sdc_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: sdc_ip_addr }}]
 
   sdc_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -1049,6 +1133,7 @@ resources:
             __gerrit_branch__: { get_param: gerrit_branch }
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
+            __sdc_repo__: { get_param: sdc_repo }
           template: |
             #!/bin/bash
 
@@ -1067,20 +1152,21 @@ resources:
             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__sdc_repo__" > /opt/config/remote_repo.txt
 
             # Download and run install script
-            curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/asdc_install.sh -o /opt/asdc_install.sh
+            curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/sdc_install.sh -o /opt/sdc_install.sh
             cd /opt
-            chmod +x asdc_install.sh
-            ./asdc_install.sh
+            chmod +x sdc_install.sh
+            ./sdc_install.sh
 
 
   # PORTAL instantiation
   portal_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: portal_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: portal_ip_addr }}]
 
   portal_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -1117,6 +1203,7 @@ resources:
             __gerrit_branch__: { get_param: gerrit_branch }
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
+            __portal_repo__: { get_param: portal_repo }
           template: |
             #!/bin/bash
 
@@ -1133,6 +1220,7 @@ resources:
             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__portal_repo__" > /opt/config/remote_repo.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh
@@ -1145,8 +1233,8 @@ resources:
   dcae_c_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: dcae_ip_addr }}]
 
   dcae_c_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -1183,7 +1271,7 @@ resources:
             __dcae_state__: { get_param: dcae_state }
             __artifacts_version__: { get_param: artifacts_version }
             __tenant_id__: { get_param: openstack_tenant_id }
-            __openstack_private_network_name__: { get_attr: [oam_ecomp, name] }
+            __openstack_private_network_name__: { get_attr: [oam_onap, name] }
             __openstack_user__: { get_param: openstack_username }
             __openstack_password__: { get_param: openstack_api_key }
             __openstack_auth_method__: { get_param: openstack_auth_method }
@@ -1219,6 +1307,8 @@ resources:
             __flavor_medium__: { get_param: flavor_medium }
             __flavor_large__: { get_param: flavor_large }
             __flavor_xlarge__: { get_param: flavor_xlarge }
+            __dcae_repo__: { get_param: dcae_repo }
+            __mr_repo__: { get_param: mr_repo }
           template: |
             #!/bin/bash
 
@@ -1271,6 +1361,8 @@ resources:
             echo "__flavor_medium__" > /opt/config/flavor_medium.txt
             echo "__flavor_large__" > /opt/config/flavor_large.txt
             echo "__flavor_xlarge__" > /opt/config/flavor_xlarge.txt
+            echo "__dcae_repo__" > /opt/config/remote_repo.txt
+            echo "__mr_repo__" > /opt/config/mr_repo.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh
@@ -1283,8 +1375,8 @@ resources:
   policy_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: policy_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: policy_ip_addr }}]
 
   policy_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -1321,6 +1413,7 @@ resources:
             __gerrit_branch__: { get_param: gerrit_branch }
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
+            __policy_repo__: { get_param: policy_repo }
           template: |
             #!/bin/bash
 
@@ -1337,6 +1430,7 @@ resources:
             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__policy_repo__" > /opt/config/remote_repo.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh
@@ -1349,8 +1443,8 @@ resources:
   appc_private_port:
     type: OS::Neutron::Port
     properties:
-      network: { get_resource: oam_ecomp }
-      fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: appc_ip_addr }}]
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: appc_ip_addr }}]
 
   appc_floating_ip:
     type: OS::Neutron::FloatingIP
@@ -1387,6 +1481,7 @@ resources:
             __gerrit_branch__: { get_param: gerrit_branch }
             __cloud_env__: { get_param: cloud_env }
             __external_dns__: { get_param: external_dns }
+            __appc_repo__: { get_param: appc_repo }
           template: |
             #!/bin/bash
 
@@ -1403,9 +1498,88 @@ resources:
             echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
             echo "__cloud_env__" > /opt/config/cloud_env.txt
             echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__appc_repo__" > /opt/config/remote_repo.txt
 
             # Download and run install script
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh
             cd /opt
             chmod +x appc_install.sh
-            ./appc_install.sh
\ No newline at end of file
+            ./appc_install.sh
+
+
+  # CLAMP instantiation
+  clamp_private_port:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: clamp_ip_addr }}]
+
+  clamp_floating_ip:
+    type: OS::Neutron::FloatingIP
+    properties:
+      floating_network_id: { get_param: public_net_id }
+      port_id: { get_resource: clamp_private_port }
+      floating_ip_address: { get_param: clamp_float_ip }
+
+  clamp_vm:
+    type: OS::Nova::Server
+    properties:
+      image: { get_param: ubuntu_1604_image }
+      flavor: { get_param: flavor_medium }
+      name:
+        str_replace:
+          template: base-clamp
+          params:
+            base: { get_param: vm_base_name }      
+      key_name: { get_resource: vm_key }
+      networks:
+        - port: { get_resource: clamp_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 }
+            __openstack_username__: { get_param: openstack_username }
+            __openstack_tenant_id__: { get_param: openstack_tenant_id }
+            __openstack_api_key__: { get_param: openstack_api_key }
+            __openstack_region__: { get_param: openstack_region }
+            __keystone_url__: { get_param: keystone_url }
+            __dmaap_topic__: { get_param: dmaap_topic }
+            __artifacts_version__: { get_param: artifacts_version }
+            __dns_ip_addr__: { get_param: dns_ip_addr }
+            __docker_version__: { get_param: docker_version }
+            __gerrit_branch__: { get_param: gerrit_branch }
+            __cloud_env__: { get_param: cloud_env }
+            __external_dns__: { get_param: external_dns }
+            __clamp_repo__: { get_param: clamp_repo }
+          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 "__dmaap_topic__" > /opt/config/dmaap_topic.txt
+            echo "__openstack_username__" > /opt/config/openstack_username.txt
+            echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
+            echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
+            echo "__openstack_region__" > /opt/config/openstack_region.txt
+            echo "__keystone_url__" > /opt/config/keystone.txt
+            echo "__docker_version__" > /opt/config/docker_version.txt
+            echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
+            echo "__cloud_env__" > /opt/config/cloud_env.txt
+            echo "__external_dns__" > /opt/config/external_dns.txt
+            echo "__clamp_repo__" > /opt/config/remote_repo.txt
+
+            # Download and run install script
+            curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/clamp_install.sh -o /opt/clamp_install.sh
+            cd /opt
+            chmod +x clamp_install.sh
+            ./clamp_install.sh