+
+
+ # OPEN-O VM instantiation
+ openo_private_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: oam_onap }
+ fixed_ips: [{"subnet": { get_resource: oam_onap_subnet }, "ip_address": { get_param: openo_ip_addr }}]
+
+ openo_floating_ip:
+ type: OS::Neutron::FloatingIP
+ properties:
+ floating_network_id: { get_param: public_net_id }
+ port_id: { get_resource: openo_private_port }
+
+ openo_vm:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: ubuntu_1604_image }
+ flavor: { get_param: flavor_xxlarge }
+ name:
+ str_replace:
+ template: base-multi-service
+ params:
+ base: { get_param: vm_base_name }
+ key_name: { get_resource: vm_key }
+ networks:
+ - port: { get_resource: openo_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 }
+ __oam_network_cidr__: { get_param: oam_network_cidr }
+ __aai1_ip_addr__: { get_param: aai1_ip_addr }
+ __aai2_ip_addr__: { get_param: aai2_ip_addr }
+ __appc_ip_addr__: { get_param: appc_ip_addr }
+ __dcae_ip_addr__: { 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 }
+ __robot_ip_addr__: { get_param: robot_ip_addr }
+ __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 }
+ __openo_ip_addr__: { get_param: openo_ip_addr }
+ __cloud_env__: { get_param: cloud_env }
+ __external_dns__: { get_param: external_dns }
+ __vnfsdk_branch__: { get_param: vnfsdk_branch }
+ __msb_docker__: { get_param: msb_docker }
+ __mvim_docker__: { get_param: mvim_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_ztevmanagerdriver_docker__: { get_param: vfc_ztevmanagerdriver_docker }
+ __vfc_ztesdncdriver_docker__: { get_param: vfc_ztesdncdriver_docker }
+ __vfc_vnfres_docker__: { get_param: vfc_vnfres_docker }
+ __vfc_vnfmgr_docker__: { get_param: vfc_vnfmgr_docker }
+ __vfc_vnflcm_docker__: { get_param: vfc_vnflcm_docker }
+ __vfc_resmanagement_docker__: { get_param: vfc_resmanagement_docker }
+ __vfc_nslcm_docker__: { get_param: vfc_nslcm_docker }
+ __vfc_huawei_docker__: { get_param: vfc_huawei_docker }
+ __vfc_jujudriver_docker__: { get_param: vfc_jujudriver_docker }
+ __vfc_gvnfmdriver_docker__: { get_param: vfc_gvnfmdriver_docker }
+ __vfc_emsdriver_docker__: { get_param: vfc_emsdriver_docker }
+ __vfc_catalog_docker__: { get_param: vfc_catalog_docker }
+ __vfc_wfengine_mgrservice_docker__: { get_param: vfc_wfengine_mgrservice_docker }
+ __vfc_wfengine_activiti_docker__: { get_param: vfc_wfengine_activiti_docker }
+ 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 "__cloud_env__" > /opt/config/cloud_env.txt
+ echo "__artifacts_version__" > /opt/config/artifacts_version.txt
+ echo "__oam_network_cidr__" > /opt/config/oam_network_cidr.txt
+ echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
+ echo "__external_dns__" > /opt/config/external_dns.txt
+ 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 "__uui_docker__" > /opt/config/uui_docker.txt
+ echo "__esr_docker__" > /opt/config/esr_docker.txt
+ echo "__vnfsdk_repo__" > /opt/config/vnfsdk_repo.txt
+
+ echo "export NOKIA_DOCKER_VER=__vfc_nokia_docker__" >> /opt/config/vfc_docker.txt
+ echo "export ZTEVMANAGERDRIVER_DOCKER_VER=__vfc_ztevmanagerdriver_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
+ echo "export VNFMGR_DOCKER_VER=__vfc_vnfmgr_docker__" >> /opt/config/vfc_docker.txt
+ echo "export VNFLCM_DOCKER_VER=__vfc_vnflcm_docker__" >> /opt/config/vfc_docker.txt
+ echo "export RESMANAGEMENT_DOCKER_VER=__vfc_resmanagement_docker__" >> /opt/config/vfc_docker.txt
+ echo "export NSLCM_DOCKER_VER=__vfc_nslcm_docker__" >> /opt/config/vfc_docker.txt
+ echo "export HUAWEI_DOCKER_VER=__vfc_huawei_docker__" >> /opt/config/vfc_docker.txt
+ echo "export JUJUDRIVER_DOCKER_VER=__vfc_jujudriver_docker__" >> /opt/config/vfc_docker.txt
+ echo "export GVNFMDRIVER_DOCKER_VER=__vfc_gvnfmdriver_docker__" >> /opt/config/vfc_docker.txt
+ echo "export EMSDRIVER_DOCKER_VER=__vfc_emsdriver_docker__" >> /opt/config/vfc_docker.txt
+ echo "export CATALOG_DOCKER_VER=__vfc_catalog_docker__" >> /opt/config/vfc_docker.txt
+ echo "export MGRSERVICE_DOCKER_VER=__vfc_wfengine_mgrservice_docker__" >> /opt/config/vfc_docker.txt
+ echo "export ACTIVITI_DOCKER_VER=__vfc_wfengine_activiti_docker__" >> /opt/config/vfc_docker.txt
+
+ # Create env file with the IP address of all ONAP components
+ echo "export AAI_IP1=__aai1_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export AAI_IP2=__aai2_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export APPC_IP=__appc_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export DCAE_IP=__dcae_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export SO_IP=__so_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export MR_IP=__mr_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export POLICY_IP=__policy_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export PORTAL_IP=__portal_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export ROBOT_IP=__robot_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export SDC_IP=__sdc_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export SDNC_IP=__sdnc_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export VID_IP=__vid_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export CLAMP_IP=__clamp_ip_addr__" >> /opt/config/onap_ips.txt
+ echo "export OPENO_IP=__openo_ip_addr__" >> /opt/config/onap_ips.txt
+
+ # Download and run install script
+ curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/openo_install.sh -o /opt/openo_install.sh
+ cd /opt
+ chmod +x openo_install.sh
+ ./openo_install.sh
+
+
+ # DCAE GEN 2 Controller instantiation
+ dcae_c_private_port:
+ type: OS::Neutron::Port
+ properties:
+ 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
+ properties:
+ floating_network_id: { get_param: public_net_id }
+ port_id: { get_resource: dcae_c_private_port }
+
+ dcae_c_vm:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: ubuntu_1604_image }
+ flavor: { get_param: flavor_small }
+ name:
+ str_replace:
+ template: base-dcae-bootstrap
+ params:
+ base: { get_param: vm_base_name }
+ key_name: { get_resource: vm_key }
+ networks:
+ - port: { get_resource: dcae_c_private_port }
+ #security_groups:
+ # - { get_resource: onap_sg }
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ params:
+ __rand_str__: { get_resource: random-str }
+ # repo related
+ __artifacts_version__: { get_param: artifacts_version }
+ __docker_version__: { get_param: dcae_docker }
+ __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 }
+ # conf for the ONAP environment where the DCAE bootstrap vm/conatiner runs
+ __mac_addr__: { get_attr: [dcae_c_private_port, mac_address] }
+ __dcae_ip_addr__: { get_param: dcae_ip_addr }
+ __dcae_float_ip__: { get_attr: [dcae_c_floating_ip, floating_ip_address] }
+ __dns_ip_addr__: { get_param: dns_ip_addr }
+ __external_dns__: { get_param: external_dns }
+ __dns_forwarder__: { get_param: dns_forwarder }
+ __dcae_domain__: { get_param: dcae_domain }
+ # conf for VMs DCAE is to bringup
+ __openstack_keystone_url__: { get_param: keystone_url }
+ __dcae_keystone_url__: { get_param: dcae_keystone_url }
+ __dcaeos_cloud_env__: { get_param: cloud_env }
+ __dcaeos_keystone_url__: { get_param: dcae_keystone_url }
+ __dcaeos_region__: { get_param: openstack_region }
+ __dcaeos_tenant_id__: { get_param: openstack_tenant_id }
+ __dcaeos_tenant_name__: { get_param: openstack_tenant_name }
+ __dcaeos_security_group__:
+ str_replace:
+ template: 'onap_sg_rand'
+ params:
+ rand: { get_resource: random-str }
+ #__dcaeos_security_group__: { get_attr: [onap_sg, name] }
+ __dcaeos_username__: { get_param: openstack_username }
+ __dcaeos_password__: { get_param: openstack_api_key }
+ __dcaeos_key_name__: { get_resource: vm_key }
+ __dcaeos_public_key__: { get_param: dcae_public_key }
+ __dcaeos_private_key__: { get_param: dcae_private_key }
+ __dcaeos_private_network_name__: { get_attr: [oam_onap, name] }
+ __dcaeos_public_network_name__: { get_param: public_net_name }
+ __dcaeos_ubuntu_1604_image__: { get_param: ubuntu_1604_image }
+ __dcaeos_centos_7_image__: { get_param: dcae_centos_7_image }
+ __dcaeos_flavor_id__: { get_param: flavor_xlarge }
+ __dcaeos_flavor_id_cdap__: { get_param: flavor_xlarge }
+ __dcaeos_dnsaas_config_enabled__: { get_param: dnsaas_config_enabled }
+ __dcaeos_dnsaas_region__: { get_param: dnsaas_region }
+ __dcaeos_dnsaas_keystone_url__: { get_param: dnsaas_keystone_url }
+ __dnsaas_tenant_name__: { get_param: dnsaas_tenant_name }
+ __dcaeos_dnsaas_username__: { get_param: dnsaas_username }
+ __dcaeos_dnsaas_password__: { get_param: dnsaas_password }
+ # fixed private IPs
+ __mr_ip_addr__: { get_param: mr_ip_addr }
+ __policy_ip_addr__: { get_param: policy_ip_addr }
+ __sdc_ip_addr__: { get_param: sdc_ip_addr }
+ __openo_ip_addr__: { get_param: openo_ip_addr }
+ __aai1_ip_addr__: { get_param: aai1_ip_addr }
+ __aai2_ip_addr__: { get_param: aai2_ip_addr }
+ # floating IPs
+ __dns_floating_ip_addr__: { get_attr: [dns_floating_ip, floating_ip_address] }
+ __aai1_floating_ip_addr__: { get_attr: [aai1_floating_ip, floating_ip_address] }
+ __aai2_floating_ip_addr__: { get_attr: [aai2_floating_ip, floating_ip_address] }
+ __mrouter_floating_ip_addr__: { get_attr: [mrouter_floating_ip, floating_ip_address] }
+ __sdc_floating_ip_addr__: { get_attr: [sdc_floating_ip, floating_ip_address] }
+ __policy_floating_ip_addr__: { get_attr: [policy_floating_ip, floating_ip_address] }
+ __openo_floating_ip_addr__: { get_attr: [openo_floating_ip, floating_ip_address] }
+ __dcae_c_floating_ip_addr__: { get_attr: [dcae_c_floating_ip, floating_ip_address] }
+
+ template: |
+ #!/bin/bash
+
+ # Create configuration files
+ mkdir -p /opt/config
+ echo "__rand_str__" > /opt/config/dcae_zone.txt
+ echo "__rand_str__" > /opt/config/rand_str.txt
+ # repo related
+ echo "__docker_version__" > /opt/config/docker_version.txt
+ echo "__artifacts_version__" > /opt/config/artifacts_version.txt
+ 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 "__gerrit_branch__" > /opt/config/gerrit_branch.txt
+ # conf for the ONAP environment where the DCAE bootstrap vm/conatiner runs
+ echo "__mac_addr__" > /opt/config/mac_addr.txt
+ echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
+ echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
+ echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
+ echo "__external_dns__" > /opt/config/external_dns.txt
+ echo "__dns_forwarder__" > /opt/config/dns_forwarder.txt
+ echo "__dcae_domain__" > /opt/config/dcae_domain.txt
+ # conf for the OpenStack env where DCAE is deployed
+ echo "__openstack_keystone_url__" > /opt/config/openstack_keystone_url.txt
+ echo "__dcaeos_cloud_env__" > /opt/config/cloud_env.txt
+ echo "__dcaeos_keystone_url__" > /opt/config/keystone_url.txt
+ echo "__dcaeos_region__" > /opt/config/openstack_region.txt
+ echo "__dcaeos_tenant_id__" > /opt/config/tenant_id.txt
+ echo "__dcaeos_tenant_name__" > /opt/config/tenant_name.txt
+ echo "__dcaeos_username__" > /opt/config/openstack_user.txt
+ echo "__dcaeos_password__" > /opt/config/openstack_password.txt
+ echo "__dcaeos_key_name__" > /opt/config/key_name.txt
+ echo "__dcaeos_public_key__" > /opt/config/pub_key.txt
+ echo "__dcaeos_private_key__" > /opt/config/priv_key
+ echo "__dcaeos_private_network_name__" > /opt/config/openstack_private_network_name.txt
+ echo "__dcaeos_public_network_name__" > /opt/config/public_net_name.txt
+ echo "__dcaeos_public_network_name__" > /opt/config/public_net_id.txt
+ echo "__dcaeos_ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
+ echo "__dcaeos_centos_7_image__" > /opt/config/centos_7_image.txt
+ echo "__dcaeos_security_group__" > /opt/config/security_group.txt
+ echo "__dcaeos_flavor_id__" > /opt/config/flavor_id.txt
+ echo "__dcaeos_flavor_id_cdap__" > /opt/config/flavor_id_cdap.txt
+ echo "__dcaeos_dnsaas_config_enabled__" > /opt/config/dnsaas_config_enabled.txt
+ echo "__dcaeos_dnsaas_region__" > /opt/config/dnsaas_region.txt
+ echo "__dcaeos_dnsaas_keystone_url__" > /opt/config/dnsaas_keystone_url.txt
+ echo "__dnsaas_tenant_name__" > /opt/config/dnsaas_tenant_name.txt
+ echo "__dcaeos_dnsaas_username__" > /opt/config/dnsaas_username.txt
+ echo "__dcaeos_dnsaas_password__" > /opt/config/dnsaas_password.txt
+ # fixed private IP addresses of other ONAP components
+ echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt
+ echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt
+ echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt
+ echo "__openo_ip_addr__" > /opt/config/openo_ip_addr.txt
+ echo "__aai1_ip_addr__" > /opt/config/aai1_ip_addr.txt
+ echo "__aai2_ip_addr__" > /opt/config/aai2_ip_addr.txt
+ # floating IPs
+ echo "__dns_floating_ip_addr__" > /opt/config/dns_floating_ip_addr.txt
+ echo "__aai1_floating_ip_addr__" > /opt/config/aai1_floating_ip_addr.txt
+ echo "__aai2_floating_ip_addr__" > /opt/config/aai2_floating_ip_addr.txt
+ echo "__mrouter_floating_ip_addr__" > /opt/config/mrouter_floating_ip_addr.txt
+ echo "__sdc_floating_ip_addr__" > /opt/config/sdc_floating_ip_addr.txt
+ echo "__policy_floating_ip_addr__" > /opt/config/policy_floating_ip_addr.txt
+ echo "__openo_floating_ip_addr__" > /opt/config/openo_floating_ip_addr.txt
+ echo "__dcae_c_floating_ip_addr__" > /opt/config/dcae_c_floating_ip_addr.txt
+
+ # Download and run install script
+ curl -k __nexus_repo__/org.onap.demo/boot/__artifacts_version__/dcae2_install.sh -o /opt/dcae2_install.sh
+ cd /opt
+ chmod +x dcae2_install.sh
+ ./dcae2_install.sh > /tmp/dcae2_install.log 2>&1