add externalAPI/NBI project
[demo.git] / heat / ONAP / onap_openstack.yaml
index f975a2a..3196443 100644 (file)
@@ -207,6 +207,8 @@ parameters:
     type: string
   aaf_ip_addr:
     type: string
+  nbi_ip_addr:
+    type: string
 
   ###########################
   #                         #
@@ -337,9 +339,13 @@ parameters:
     type: string
   aaf_docker:
     type: string
+  nbi_docker:
+    type: string
 
   vfc_nokia_docker:
     type: string
+  vfc_nokiav2_docker:
+    type: string
   vfc_ztevnfmdriver_docker:
     type: string
   vfc_ztesdncdriver_docker:
@@ -369,6 +375,13 @@ parameters:
   vfc_wfengine_activiti_docker:
     type: string
 
+  cbam_username:
+    type: string
+  cbam_password:
+    type: string
+  cbam_ip:
+    type: string
+
   aai_branch:
     type: string
   appc_branch:
@@ -1557,6 +1570,10 @@ resources:
             __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_ztesdncdriver_docker__: { get_param: vfc_ztesdncdriver_docker }
             __vfc_vnfres_docker__: { get_param: vfc_vnfres_docker }
@@ -1591,8 +1608,12 @@ resources:
             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
             echo "export ZTEVNFMDRIVER_DOCKER_VER=__vfc_ztevnfmdriver_docker__" >> /opt/config/vfc_docker.txt
             echo "export ZTESDNCDRIVER_DOCKER_VER=__vfc_ztesdncdriver_docker__" >> /opt/config/vfc_docker.txt
             echo "export VNFRES_DOCKER_VER=__vfc_vnfres_docker__" >> /opt/config/vfc_docker.txt
@@ -1988,4 +2009,66 @@ resources:
             curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/aaf_install.sh -o /opt/aaf_install.sh
             cd /opt
             chmod +x aaf_install.sh
-            ./aaf_install.sh
\ No newline at end of file
+            ./aaf_install.sh
+
+  # NBI instantiation
+  nbi_private_port:
+    type: OS::Neutron::Port
+    properties:
+      network: { get_resource: oam_onap }
+      fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: nbi_ip_addr }}]
+      security_groups:
+      - { get_resource: onap_sg }
+
+  nbi_floating_ip:
+    type: OS::Neutron::FloatingIP
+    properties:
+      floating_network_id: { get_param: public_net_id }
+      port_id: { get_resource: nbi_private_port }
+
+  nbi_vm:
+    type: OS::Nova::Server
+    properties:
+      image: { get_param: ubuntu_1604_image }
+      flavor: { get_param: flavor_small }
+      name:
+        str_replace:
+          template: base-nbi
+          params:
+            base: { get_param: vm_base_name }
+      key_name: { get_resource: vm_key }
+      networks:
+        - port: { get_resource: nbi_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: nbi_docker }
+            __cloud_env__: { get_param: cloud_env }
+            __external_dns__: { get_param: external_dns }
+          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
+
+            # Download and run install script
+            curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/nbi_install.sh -o /opt/nbi_install.sh
+            cd /opt
+            chmod +x nbi_install.sh
+            ./nbi_install.sh