summaryrefslogtreecommitdiffstats
path: root/heat/ONAP/onap_openstack_nofloat.yaml
diff options
context:
space:
mode:
authorMarco Platania <platania@research.att.com>2017-09-29 14:47:33 -0400
committerMarco Platania <platania@research.att.com>2017-09-29 14:47:33 -0400
commitba2ea344e2a3335739cee2eb1dcb6f1454f58a3a (patch)
treec3be8b7a3576cfabce20ef7f0b0b5cbe4e92a8e9 /heat/ONAP/onap_openstack_nofloat.yaml
parent5eb3ff09d43f70269c52a293f0a9a09378b070b2 (diff)
Add DCAE GEN2 to Heat template
- Add DCAE GEN2 VM to all Heat templates - Add DCAE-related parameters - Create new install/init scripts for DCAE Change-Id: I299ad3b2c212a05d12a109fda21ce48980ddd448 Issue-ID: INT-213 Signed-off-by: Marco Platania <platania@research.att.com>
Diffstat (limited to 'heat/ONAP/onap_openstack_nofloat.yaml')
-rw-r--r--heat/ONAP/onap_openstack_nofloat.yaml132
1 files changed, 132 insertions, 0 deletions
diff --git a/heat/ONAP/onap_openstack_nofloat.yaml b/heat/ONAP/onap_openstack_nofloat.yaml
index 0d857ce2..31ba9768 100644
--- a/heat/ONAP/onap_openstack_nofloat.yaml
+++ b/heat/ONAP/onap_openstack_nofloat.yaml
@@ -52,6 +52,10 @@ parameters:
type: string
description: Name of the Ubuntu 16.04 image
+ centos_7_image:
+ type: string
+ description: Name of the CentOS 7 image
+
flavor_small:
type: string
description: Name of the Small Flavor supported by the cloud provider
@@ -72,6 +76,10 @@ parameters:
type: string
description: Name of the Extra Extra Large Flavor supported by the cloud provider
+ security_group:
+ type: string
+ description: Security group used by DCAE GEN 2
+
vm_base_name:
type: string
description: Base name of ONAP VMs
@@ -80,10 +88,18 @@ parameters:
type: string
description: Public/Private key pair name
+ dcae_key_name:
+ type: string
+ description: Public/Private key pair name for DCAE GEN 2
+
pub_key:
type: string
description: Public key to be installed on the compute instance
+ dcae_pub_key:
+ type: string
+ description: Public key to be installed on the DCAE GEN 2 compute instance
+
nexus_repo:
type: string
description: Complete URL for the Nexus repository.
@@ -359,6 +375,18 @@ resources:
public_key: { get_param: pub_key }
save_private_key: false
+ # Public key used to access DCAE GEN 2
+ dcae_vm_key:
+ type: OS::Nova::KeyPair
+ properties:
+ name:
+ str_replace:
+ template: base_rand
+ params:
+ base: { get_param: dcae_key_name }
+ rand: { get_resource: random-str }
+ public_key: { get_param: dcae_pub_key }
+ save_private_key: true
# ONAP management private network
oam_onap:
@@ -1543,3 +1571,107 @@ resources:
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_medium }
+ name:
+ str_replace:
+ template: base-dcae-controller
+ params:
+ base: { get_param: vm_base_name }
+ key_name: { get_resource: dcae_vm_key }
+ networks:
+ - port: { get_resource: dcae_c_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 }
+ __dns_ip_addr__: { get_param: dns_ip_addr }
+ __dcae_zone__: { get_param: dcae_zone }
+ __artifacts_version__: { get_param: artifacts_version }
+ __tenant_id__: { get_param: openstack_tenant_id }
+ __openstack_private_network_name__: { get_attr: [oam_onap, name] }
+ __openstack_user__: { get_param: openstack_username }
+ __openstack_password__: { get_param: openstack_api_key }
+ __key_name__: { get_param: dcae_key_name }
+ __pub_key__: { get_param: dcae_pub_key }
+ __private_key__: { get_attr: [ dcae_vm_key, private_key ] }
+ __openstack_region__: { get_param: openstack_region }
+ __keystone_url__: { get_param: keystone_url }
+ __docker_version__: { get_param: dcae_docker }
+ __dcae_repo__: { get_param: dcae_repo }
+ __gerrit_branch__: { get_param: dcae_branch }
+ __cloud_env__: { get_param: cloud_env }
+ __public_net_id__: { get_param: public_net_id }
+ __dcae_ip_addr__: { get_param: dcae_ip_addr }
+ __dcae_float_ip__: { get_attr: [dcae_c_floating_ip, floating_ip_address] }
+ __external_dns__: { get_param: external_dns }
+ __ubuntu_1604_image__: { get_param: ubuntu_1604_image }
+ __centos_7_image__: { get_param: centos_7_image }
+ __security_group__ : { get_param: security_group }
+ __flavor_medium__: { get_param: flavor_medium }
+ __mac_addr__: { get_attr: [dcae_c_private_port, mac_address] }
+ __rand_str__: { get_resource: random-str }
+
+ 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 "__docker_version__" > /opt/config/docker_version.txt
+ echo "__artifacts_version__" > /opt/config/artifacts_version.txt
+ echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt
+ echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt
+ echo "__dcae_zone__" > /opt/config/dcae_zone.txt
+ echo "__tenant_id__" > /opt/config/tenant_id.txt
+ echo "__openstack_private_network_name__" > /opt/config/openstack_private_network_name.txt
+ echo "__openstack_user__" > /opt/config/openstack_user.txt
+ echo "__openstack_password__" > /opt/config/openstack_password.txt
+ echo "__key_name__" > /opt/config/key_name.txt
+ echo "__pub_key__" > /opt/config/pub_key.txt
+ echo "__private_key__" > /opt/config/priv_key
+ echo "__openstack_region__" > /opt/config/openstack_region.txt
+ echo "__keystone_url__" > /opt/config/keystone_url.txt
+ echo "__cloud_env__" > /opt/config/cloud_env.txt
+ echo "__public_net_id__" > /opt/config/public_net_id.txt
+ echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt
+ echo "__dcae_float_ip__" > /opt/config/dcae_float_ip.txt
+ echo "__external_dns__" > /opt/config/external_dns.txt
+ echo "__ubuntu_1604_image__" > /opt/config/ubuntu_1604_image.txt
+ echo "__centos_7_image__" > /opt/config/centos_7_image.txt
+ echo "__security_group__" > /opt/config/security_group.txt
+ echo "__flavor_medium__" > /opt/config/flavor_medium.txt
+ echo "__dcae_repo__" > /opt/config/remote_repo.txt
+ echo "__mac_addr__" > /opt/config/mac_addr.txt
+ echo "__rand_str__" > /opt/config/rand_str.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 \ No newline at end of file