diff options
author | platania <platania@research.att.com> | 2017-02-24 16:35:34 -0500 |
---|---|---|
committer | platania <platania@research.att.com> | 2017-02-24 16:35:34 -0500 |
commit | ffac8c3daab6211f0b6988404990c17a8a108f16 (patch) | |
tree | 106ed5fa0a2d051ec54caf1a33cb8cf94562b5c9 /heat/OpenECOMP | |
parent | 9ee4ed868e558f81491d006f656eb54c43828752 (diff) |
upload heat templates
Change-Id: Ic3a897d33b9395df828e3c8692730d0b63e30662
Signed-off-by: platania <platania@research.att.com>
Diffstat (limited to 'heat/OpenECOMP')
-rw-r--r-- | heat/OpenECOMP/openecomp_rackspace.env | 48 | ||||
-rw-r--r-- | heat/OpenECOMP/openecomp_rackspace.yaml | 1182 |
2 files changed, 1230 insertions, 0 deletions
diff --git a/heat/OpenECOMP/openecomp_rackspace.env b/heat/OpenECOMP/openecomp_rackspace.env new file mode 100644 index 00000000..90e67f98 --- /dev/null +++ b/heat/OpenECOMP/openecomp_rackspace.env @@ -0,0 +1,48 @@ +parameters: + + # Generic parameters used across all OpenECOMP components + + public_net_id: 00000000-0000-0000-0000-000000000000 + + key_name: ecomp_key + + pub_key: INSERT YOUR PUBLIC KEY HERE + + nexus_repo: https://nexus.openecomp.org/content/sites/raw + + nexus_docker_repo: nexus3.openecomp.org:10001 + + nexus_username: INSERT YOUR USERNAME HERE + + nexus_password: INSERT YOUR PASSWORD HERE + + gitlab_username: INSERT YOUR USERNAME HERE + + gitlab_password: INSERT YOUR PASSWORD HERE + + dmaap_topic: AUTO + + artifacts_version: 1.0.0-SNAPSHOT + + + # Parameters for DCAE instantiation + + dcae_zone: iad4 + + dcae_state: vi + + openstack_tenant_id: INSERT YOUR TENANT ID HERE + + openstack_username: INSERT YOUR USERNAME HERE + + openstack_api_key: INSERT YOUR API KEY HERE + + openstack_password: INSERT YOUR PASSWORD HERE + + nexus_repo_root: https://nexus.openecomp.org + + nexus_url_snapshot: https://nexus.openecomp.org/content/repositories/snapshots + + openstack_region: IAD + + gitlab_branch: master diff --git a/heat/OpenECOMP/openecomp_rackspace.yaml b/heat/OpenECOMP/openecomp_rackspace.yaml new file mode 100644 index 00000000..11c11262 --- /dev/null +++ b/heat/OpenECOMP/openecomp_rackspace.yaml @@ -0,0 +1,1182 @@ +heat_template_version: 2013-05-23 + +description: Heat template to deploy OpenECOMP components + +parameters: + + # Generic parameters used across all OpenECOMP components + public_net_id: + type: string + label: Public network name or ID + description: Public network that enables remote connection to the compute instance + + key_name: + type: string + label: Key pair name + description: Public/Private key pair name + + pub_key: + type: string + label: Public key + description: Public key or SSL certificate to be installed on the compute instance + + nexus_repo: + type: string + label: Nexus Repository + description: Complete URL for the Nexus repository. + + nexus_docker_repo: + type: string + label: Nexus Docker Images Repository + description: Complete URL for the Nexus repository for docker images. + + nexus_username: + type: string + label: Nexus Repository Username + description: Nexus Repository username + + nexus_password: + type: string + label: Nexus Repository Password + description: Nexus Repository Password + + gitlab_username: + type: string + label: Gitlab Repository Username + description: Gitlab Repository username + + gitlab_password: + type: string + label: Gitlab Repository Password + description: Gitlab Repository Password + + dmaap_topic: + type: string + label: DmaaP Topic + description: DmaaP Topic that MSO and A&AI listen to + + artifacts_version: + type: string + label: Artifacts Version + description: Artifacts version of OpenECOMP components + + + # Parameters for DCAE instantiation + dcae_zone: + type: string + label: DCAE Zone + description: DCAE Zone to use in VM names created by DCAE controller + + dcae_state: + type: string + label: DCAE State + description: DCAE State to use in VM names created by DCAE controller + + openstack_tenant_id: + type: string + label: Rackspace tenant ID + description: Rackspace tenant ID + + openstack_username: + type: string + label: Rackspace username + description: Rackspace username + + openstack_api_key: + type: string + label: Rackspace API Key + description: Rackspace API Key + + openstack_password: + type: string + label: Rackspace Password + description: Rackspace Password + + nexus_repo_root: + type: string + label: Root URL of nexus repository + description: Root URL of nexus repository + + nexus_url_snapshot: + type: string + label: Snapshot of Maven repository for DCAE deployment + description: Snapshot of Maven repository + + openstack_region: + type: string + label: Rackspace Region + description: Rackspace region where the DCAE controller will spin the VMs + + gitlab_branch: + type: string + label: Branch of the Gitlab repository + description: Branch of the Gitlab repository + + +resources: + random-str: + type: OS::Heat::RandomString + properties: + length: 4 + + # Public key used to access OpenECOMP components + vm_key: + type: OS::Nova::KeyPair + properties: + name: + str_replace: + template: base_rand + params: + base: { get_param: key_name } + rand: { get_resource: random-str } + public_key: { get_param: pub_key } + save_private_key: false + + + # OpenECOMP management private network + oam_ecomp: + type: OS::Neutron::Net + properties: + name: + str_replace: + template: oam_ecomp_rand + params: + rand: { get_resource: random-str } + + oam_ecomp_subnet: + type: OS::Neutron::Subnet + properties: + name: + str_replace: + template: oam_ecomp_rand + params: + rand: { get_resource: random-str } + network_id: { get_resource: oam_ecomp } + cidr: 10.0.0.0/8 + value: { get_attr: [oam_ecomp, name] } + + + # 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": 10.0.0.1}] + + dns_vm: + type: OS::Nova::Server + properties: + image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) + flavor: 4 GB General Purpose v1 + name: vm1-dns-server + key_name: { get_resource: vm_key } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: dns_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 } + __gitlab_username__: { get_param: gitlab_username } + __gitlab_password__: { get_param: gitlab_password } + __artifacts_version__: { get_param: artifacts_version } + template: | + #!/bin/bash + + # Download dependencies + add-apt-repository -y ppa:openjdk-r/ppa + apt-get update + apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk bind9 bind9utils bind9-doc ntp ntpdate + + # Download script + mkdir /etc/bind/zones + + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/db_simpledemo_openecomp_org -o /etc/bind/zones/db.simpledemo.openecomp.org + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/named.conf.options -o /etc/bind/named.conf.options + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/named.conf.local -o /etc/bind/named.conf.local + + # Configure Bind + modprobe ip_gre + sed -i "s/OPTIONS=.*/OPTIONS=\"-4 -u bind\"/g" /etc/default/bind9 + service bind9 restart + + + # A&AI instantiation + aai_private_port: + type: OS::Neutron::Port + properties: + network: { get_resource: oam_ecomp } + fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.1.1}] + + aai_volume: + type: OS::Cinder::Volume + properties: + name: vol1-aai + size: 50 + volume_type: SSD + image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) + + aai_vm: + type: OS::Nova::Server + depends_on: sdc_vm + properties: + flavor: 15 GB Compute v1 + name: vm1-aai + key_name: { get_resource: vm_key } + block_device_mapping: + - volume_id: { get_resource: aai_volume } + device_name: vda + networks: + - network: { get_param: public_net_id } + - port: { get_resource: aai_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 } + __gitlab_username__: { get_param: gitlab_username } + __gitlab_password__: { get_param: gitlab_password } + __dmaap_topic__: { get_param: dmaap_topic } + __artifacts_version__: { get_param: artifacts_version } + template: | + #!/bin/bash + + # DNS/GW IP address configuration + echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head + resolvconf -u + + # Download dependencies + add-apt-repository -y ppa:openjdk-r/ppa + apt-get update + apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk ntp ntpdate + + # Download scripts from Nexus + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai_vm_init.sh -o /opt/aai_vm_init.sh + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai_serv.sh -o /opt/aai_serv.sh + chmod +x /opt/aai_vm_init.sh + chmod +x /opt/aai_serv.sh + mv /opt/aai_serv.sh /etc/init.d + update-rc.d aai_serv.sh defaults + + # Download and install docker-engine and docker-compose + apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list + apt-get update + apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual + apt-get install -y docker-engine + service docker start + + mkdir -p /opt/openecomp/aai/logs + mkdir -p /opt/openecomp/aai/data + mkdir /opt/docker + curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose + chmod +x /opt/docker/docker-compose + + # Store credentials in files + mkdir -p /opt/config + 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 "__dmaap_topic__" > /opt/config/dmaap_topic.txt + echo "__gitlab_username__" > /opt/config/gitlab_username.txt + echo "__gitlab_password__" > /opt/config/gitlab_password.txt + echo "gerrit.openecomp.org" > /opt/config/gitlab_certname.txt + # Execute docker instructions + cd /opt + ./aai_vm_init.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": 10.0.5.1}] + + mso_vm: + type: OS::Nova::Server + properties: + image: Ubuntu 16.04 LTS (Xenial Xerus) (PVHVM) + flavor: 4 GB General Purpose v1 + name: vm1-mso + key_name: { get_resource: vm_key } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: mso_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 } + __gitlab_username__: { get_param: gitlab_username } + __gitlab_password__: { get_param: gitlab_password } + __openstack_username__: { get_param: openstack_username } + __openstack_tenant_id__: { get_param: openstack_tenant_id } + __openstack_api_key__: { get_param: openstack_api_key } + __dmaap_topic__: { get_param: dmaap_topic } + __artifacts_version__: { get_param: artifacts_version } + template: | + #!/bin/bash + + # DNS/GW IP address configuration + echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head + resolvconf -u + + # Download dependencies + add-apt-repository -y ppa:openjdk-r/ppa + apt-get update + apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk git ntp ntpdate + + # Download scripts from Nexus + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mso_vm_init.sh -o /opt/mso_vm_init.sh + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mso_serv.sh -o /opt/mso_serv.sh + chmod +x /opt/mso_vm_init.sh + chmod +x /opt/mso_serv.sh + mv /opt/mso_serv.sh /etc/init.d + update-rc.d mso_serv.sh defaults + + # Download and install docker-engine and docker-compose + apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list + apt-get update + apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual + apt-get install -y docker-engine + service docker start + + mkdir /opt/docker + curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose + chmod +x /opt/docker/docker-compose + + # Store credentials in files + mkdir -p /opt/config + 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 "__gitlab_username__" > /opt/config/gitlab_username.txt + echo "__gitlab_password__" > /opt/config/gitlab_password.txt + echo "__openstack_username__" > /opt/config/openstack_username.txt + echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt + echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt + + + # Run docker-compose to spin up containers + cd /opt + git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/mso/docker-config.git test_lab + MSO_ENCRYPTION_KEY=$(cat /opt/test_lab/encryption.key) + echo -n "__openstack_api_key__" | openssl aes-128-ecb -e -K $MSO_ENCRYPTION_KEY -nosalt | xxd -c 256 -p > /opt/config/api_key.txt + ./mso_vm_init.sh + + + # Message Router instantiation + mrouter_private_port: + type: OS::Neutron::Port + properties: + network: { get_resource: oam_ecomp } + fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.11.1}] + + mrouter_vm: + type: OS::Nova::Server + properties: + image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) + flavor: 15 GB I/O v1 + name: vm1-message-router + key_name: { get_resource: vm_key } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: mrouter_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 } + __gitlab_username__: { get_param: gitlab_username } + __gitlab_password__: { get_param: gitlab_password } + __artifacts_version__: { get_param: artifacts_version } + template: | + #!/bin/bash + + # DNS/GW IP address configuration + echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head + resolvconf -u + + # Download dependencies + add-apt-repository -y ppa:openjdk-r/ppa + apt-get update + apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk ntp ntpdate + + # Download scripts from Nexus + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mr_vm_init.sh -o /opt/mr_vm_init.sh + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mr_serv.sh -o /opt/mr_serv.sh + chmod +x /opt/mr_vm_init.sh + chmod +x /opt/mr_serv.sh + mv /opt/mr_serv.sh /etc/init.d + update-rc.d mr_serv.sh defaults + + # Download and install docker-engine and docker-compose + apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list + apt-get update + apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual + apt-get install -y docker-engine + service docker start + + mkdir /opt/docker + curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose + chmod +x /opt/docker/docker-compose + + # Store credentials in files + mkdir -p /opt/config + 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 "__gitlab_username__" > /opt/config/gitlab_username.txt + echo "__gitlab_password__" > /opt/config/gitlab_password.txt + + # Run docker-compose to spin up containers + cd /opt + git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/dcae/demo/startup/message-router.git dcae-startup-vm-message-router + ./mr_vm_init.sh + + + # RobotE2E instantiation + robot_private_port: + type: OS::Neutron::Port + properties: + network: { get_resource: oam_ecomp } + fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.10.1}] + + robot_vm: + type: OS::Nova::Server + properties: + image: Ubuntu 16.04 LTS (Xenial Xerus) (PVHVM) + flavor: 2 GB General Purpose v1 + name: vm1-robot + key_name: { get_resource: vm_key } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: robot_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 } + __gitlab_username__: { get_param: gitlab_username } + __gitlab_password__: { get_param: gitlab_password } + __network_name__: { get_attr: [oam_ecomp, name] } + __openstack_username__: { get_param: openstack_username } + __openstack_api_key__: { get_param : openstack_api_key } + __openstack_password__: { get_param: openstack_password } + __artifacts_version__: { get_param: artifacts_version } + __openstack_region__: { get_param: openstack_region } + template: | + #!/bin/bash + + # DNS/GW IP address configuration + echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head + resolvconf -u + + # Download dependencies + add-apt-repository -y ppa:openjdk-r/ppa + apt-get update + apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk ntp ntpdate + + # Download scripts from Nexus + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/robot_vm_init.sh -o /opt/robot_vm_init.sh + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/robot_serv.sh -o /opt/robot_serv.sh + chmod +x /opt/robot_vm_init.sh + chmod +x /opt/robot_serv.sh + mv /opt/robot_serv.sh /etc/init.d + update-rc.d robot_serv.sh defaults + + # Download and install docker-engine and docker-compose + apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list + apt-get update + apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual + apt-get install -y docker-engine + #sed -i 's|^ExecStart=/usr/bin/dockerd \s*-H \s*fd://\s*$|ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375|' /lib/systemd/system/docker.service + service docker start + + mkdir /opt/docker + curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose + chmod +x /opt/docker/docker-compose + + # Store credentials in files + mkdir -p /opt/config + echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt + echo "__nexus_repo__" > /opt/config/nexus_repo.txt + echo "__nexus_username__" > /opt/config/nexus_username.txt + echo "__nexus_password__" > /opt/config/nexus_password.txt + echo "__gitlab_username__" > /opt/config/gitlab_username.txt + echo "__gitlab_password__" > /opt/config/gitlab_password.txt + echo "__network_name__" > /opt/config/network.txt + echo "__openstack_username__" > /opt/config/openstack_username.txt + echo "__openstack_password__" > /opt/config/openstack_password.txt + echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt + echo "__openstack_region__" > /opt/config/region.txt + + # Execute RobotETE-specific instructions: create share folder to run as a docker volume + mkdir -p /opt/eteshare/logs + mkdir -p /opt/eteshare/config + + # Run docker-compose to spin up containers + cd /opt + git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/testsuite/properties.git testsuite/properties + ./robot_vm_init.sh + + + # VID instantiation + vid_private_port: + type: OS::Neutron::Port + properties: + network: { get_resource: oam_ecomp } + fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.8.1}] + + vid_vm: + type: OS::Nova::Server + properties: + image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) + flavor: 2 GB General Purpose v1 + name: vm1-vid + key_name: { get_resource: vm_key } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: vid_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 } + __gitlab_username__: { get_param: gitlab_username } + __gitlab_password__: { get_param: gitlab_password } + __artifacts_version__: { get_param: artifacts_version } + template: | + #!/bin/bash + + # DNS/GW IP address configuration + echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head + resolvconf -u + + # Download dependencies + add-apt-repository -y ppa:openjdk-r/ppa + apt-get update + apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk make git ntp ntpdate + + # Download scripts from Nexus + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/vid_vm_init.sh -o /opt/vid_vm_init.sh + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/vid_serv.sh -o /opt/vid_serv.sh + chmod +x /opt/vid_vm_init.sh + chmod +x /opt/vid_serv.sh + mv /opt/vid_serv.sh /etc/init.d + update-rc.d vid_serv.sh defaults + + # Download and install docker-engine and docker-compose + apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list + apt-get update + apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual + apt-get install -y docker-engine + service docker start + + mkdir /opt/docker + curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose + chmod +x /opt/docker/docker-compose + + # Store credentials in files + mkdir -p /opt/config + 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 "__gitlab_username__" > /opt/config/gitlab_username.txt + echo "__gitlab_password__" > /opt/config/gitlab_password.txt + + # Run script to spin up containers + cd /opt + git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/vid.git + ./vid_vm_init.sh + + + # SDN-C instantiation + sdnc_private_port: + type: OS::Neutron::Port + properties: + network: { get_resource: oam_ecomp } + fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.7.1}] + + sdnc_vm: + type: OS::Nova::Server + properties: + image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) + flavor: 4 GB General Purpose v1 + name: vm1-sdnc + key_name: { get_resource: vm_key } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: sdnc_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 } + __gitlab_username__: { get_param: gitlab_username } + __gitlab_password__: { get_param: gitlab_password } + __artifacts_version__: { get_param: artifacts_version } + template: | + #!/bin/bash + + # DNS/GW IP address configuration + mkdir /opt/config + echo "10.0.0.1" > /opt/config/dns_gw_ip.txt + echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head + resolvconf -u + + # Download dependencies + add-apt-repository -y ppa:openjdk-r/ppa + apt-get update + apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk ntp ntpdate + + # Download scripts from Nexus + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/sdnc_vm_init.sh -o /opt/sdnc_vm_init.sh + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/sdnc_serv.sh -o /opt/sdnc_serv.sh + chmod +x /opt/sdnc_vm_init.sh + chmod +x /opt/sdnc_serv.sh + mv /opt/sdnc_serv.sh /etc/init.d + update-rc.d sdnc_serv.sh defaults + + # Download and install docker-engine and docker-compose + apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list + apt-get update + apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual + apt-get install -y docker-engine + service docker start + + mkdir /opt/docker + curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose + chmod +x /opt/docker/docker-compose + + # Store credentials in files + mkdir -p /opt/config + 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 "__gitlab_username__" > /opt/config/gitlab_username.txt + echo "__gitlab_password__" > /opt/config/gitlab_password.txt + + # Run docker-compose to spin up containers + cd /opt + git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/sdnc/oam.git sdnc + ./sdnc_vm_init.sh + + + # SDC instantiation + sdc_private_port: + type: OS::Neutron::Port + properties: + network: { get_resource: oam_ecomp } + fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.3.1}] + + sdc_volume_local: + type: OS::Cinder::Volume + properties: + name: vol1-sdc-local + size: 50 + volume_type: SSD + image: Ubuntu 16.04 LTS (Xenial Xerus) (PVHVM) + + sdc_volume_data: + type: OS::Cinder::Volume + properties: + name: vol1-sdc-data + size: 100 + volume_type: SSD + + sdc_volume_attachment: + type: OS::Cinder::VolumeAttachment + properties: + volume_id: { get_resource: sdc_volume_data } + instance_uuid: { get_resource: sdc_vm } + mountpoint: /dev/xvdb + + sdc_vm: + type: OS::Nova::Server + properties: + flavor: 15 GB Compute v1 + name: vm1-sdc + key_name: { get_resource: vm_key } + block_device_mapping: + - volume_id: { get_resource: sdc_volume_local } + device_name: vda + networks: + - network: { get_param: public_net_id } + - port: { get_resource: sdc_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 } + __gitlab_username__: { get_param: gitlab_username } + __gitlab_password__: { get_param: gitlab_password } + __env_name__: { get_param: dmaap_topic } + __artifacts_version__: { get_param: artifacts_version } + template: | + #!/bin/bash + # DNS/GW IP address configuration + mkdir /opt/config + echo "10.0.0.1" > /opt/config/dns_gw_ip.txt + echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head + resolvconf -u + + # Download dependencies + add-apt-repository -y ppa:openjdk-r/ppa + apt-get update + apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk ntp ntpdate + + # Download scripts from Nexus + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/asdc_vm_init.sh -o /opt/asdc_vm_init.sh + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/asdc_serv.sh -o /opt/asdc_serv.sh + chmod +x /opt/asdc_vm_init.sh + chmod +x /opt/asdc_serv.sh + mv /opt/asdc_serv.sh /etc/init.d + update-rc.d asdc_serv.sh defaults + + # Download and install docker-engine and docker-compose + apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list + apt-get update + apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual + apt-get install -y docker-engine + service docker start + mkdir /opt/docker + curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose + chmod +x /opt/docker/docker-compose + + # Create partition and mount the external volume + curl --user '__nexus_username__:__nexus_password__' __nexus_repo__/org.openecomp.boot/asdc_ext_volume_partitions.txt -o /opt/asdc_ext_volume_partitions.txt + sfdisk /dev/xvdb < /opt/asdc_ext_volume_partitions.txt + mkfs -t ext4 /dev/xvdb1 + mkdir -p /data + mount /dev/xvdb1 /data + echo "/dev/xvdb1 /data ext4 errors=remount-ro,noatime,barrier=0 0 1" >> /etc/fstab + + # Store credentials in files + mkdir -p /opt/config + 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 "__gitlab_username__" > /opt/config/gitlab_username.txt + echo "__gitlab_password__" > /opt/config/gitlab_password.txt + echo "__env_name__" > /opt/config/env_name.txt + + # Run SDC-specific instructions + cd /opt + mkdir -p /data/environments + mkdir -p /data/scripts + mkdir -p /data/logs/BE + mkdir -p /data/logs/FE + chmod 775 /data + chmod 775 /data/logs/BE + chmod 775 /data/logs/FE + + git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/sdc.git + + cat > /root/.bash_aliases << EOF + alias dcls='/data/scripts/docker_clean.sh \$1' + alias dlog='/data/scripts/docker_login.sh \$1' + alias rund='/data/scripts/docker_run.sh' + alias health='/data/scripts/docker_health.sh' + EOF + + # Run docker-compose to spin up containers + ./asdc_vm_init.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": 10.0.9.1}] + + portal_volume: + type: OS::Cinder::Volume + properties: + name: vol1-portal + size: 50 + volume_type: SSD + image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) + + portal_vm: + type: OS::Nova::Server + properties: + flavor: 15 GB Memory v1 + name: vm1-portal + key_name: { get_resource: vm_key } + block_device_mapping: + - volume_id: { get_resource: portal_volume } + device_name: vda + networks: + - network: { get_param: public_net_id } + - port: { get_resource: portal_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 } + __gitlab_username__: { get_param: gitlab_username } + __gitlab_password__: { get_param: gitlab_password } + __artifacts_version__: { get_param: artifacts_version } + template: | + #!/bin/bash + # DNS/GW IP address configuration + mkdir /opt/config + echo "10.0.0.1" > /opt/config/dns_gw_ip.txt + echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head + resolvconf -u + + # Download dependencies + add-apt-repository -y ppa:openjdk-r/ppa + apt-get update + apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk unzip mysql-client-core-5.6 ntp ntpdate + + # Download scripts from Nexus + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/portal_vm_init.sh -o /opt/portal_vm_init.sh + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/portal_serv.sh -o /opt/portal_serv.sh + chmod +x /opt/portal_vm_init.sh + chmod +x /opt/portal_serv.sh + mv /opt/portal_serv.sh /etc/init.d + update-rc.d portal_serv.sh defaults + + # Download and install docker-engine and docker-compose + apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list + apt-get update + apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual + apt-get install -y docker-engine + service docker start + mkdir /opt/docker + curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose + chmod +x /opt/docker/docker-compose + + # Store credentials in files + mkdir -p /opt/config + 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 "__gitlab_username__" > /opt/config/gitlab_username.txt + echo "__gitlab_password__" > /opt/config/gitlab_password.txt + + # Run Portal-specific instructions + mkdir -p /PROJECT/OpenSource/UbuntuEP/logs + cd /opt + git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/portal.git + + # Run docker-compose to spin up containers + ./portal_vm_init.sh + + + # DCAE Controller instantiation + dcae_c_private_port: + type: OS::Neutron::Port + properties: + network: { get_resource: oam_ecomp } + fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.4.1}] + dcae_c_vm: + type: OS::Nova::Server + properties: + image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) + flavor: 8 GB General Purpose v1 + name: vm1-dcae-controller + key_name: { get_resource: vm_key } + networks: + - network: { get_param: public_net_id } + - 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 } + __nexus_url_snapshots__: { get_param: nexus_url_snapshot } + __gitlab_username__: { get_param: gitlab_username } + __gitlab_password__: { get_param: gitlab_password } + __gitlab_branch__: { get_param: gitlab_branch } + __dcae_zone__: { get_param: dcae_zone } + __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_user__: { get_param: openstack_username } + __openstack_password__: { get_param: openstack_api_key } + __key_name__: { get_param: key_name } + __rand_str__: { get_resource: random-str } + __pub_key__: { get_param: pub_key } + __nexus_repo_root__: { get_param: nexus_repo_root } + __openstack_region__: { get_param: openstack_region } + template: | + #!/bin/bash + # DNS/GW IP address configuration + echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head + resolvconf -u + + # Download dependencies + add-apt-repository -y ppa:openjdk-r/ppa + apt-get update + apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk make git ntp ntpdate + + # Download scripts from Nexus + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dcae_vm_init.sh -o /opt/dcae_vm_init.sh + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dcae_serv.sh -o /opt/dcae_serv.sh + chmod +x /opt/dcae_vm_init.sh + chmod +x /opt/dcae_serv.sh + mv /opt/dcae_serv.sh /etc/init.d + update-rc.d dcae_serv.sh defaults + + # Download and install docker-engine and docker-compose + apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list + apt-get update + apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual + apt-get install -y docker-engine + service docker start + mkdir /opt/docker + curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose + chmod +x /opt/docker/docker-compose + + # DCAE Controller specific deployment + cd /opt + git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/dcae/demo/startup/controller.git dcae-startup-vm-controller + + cd dcae-startup-vm-controller + mkdir -p /opt/app/dcae-controller + cat > /opt/app/dcae-controller/config.yaml << EOF_CONFIG + ZONE: __dcae_zone__ + STATE: __dcae_state__ + DCAE-VERSION: 0.1.0-SNAPSHOT + HORIZON-URL: https://mycloud.rackspace.com/cloud/__tenant_id__ + KEYSTONE-URL: https://identity.api.rackspacecloud.com/v2.0 + OPENSTACK-TENANT-ID: __tenant_id__ + OPENSTACK-TENANT-NAME: OPEN-ECOMP + OPENSTACK-REGION: __openstack_region__ + OPENSTACK-PRIVATE-NETWORK: __openstack_private_network_name__ + OPENSTACK-USER: __openstack_user__ + OPENSTACK-PASSWORD: __openstack_password__ + OPENSTACK-KEYNAME: __key_name_____rand_str___dcae + OPENSTACK-PUBKEY: __pub_key__ + + NEXUS-URL-ROOT: __nexus_repo_root__ + NEXUS-USER: __nexus_username__ + NEXUS-PASSWORD: __nexus_password__ + NEXUS-URL-SNAPSHOTS: __nexus_url_snapshots__ + NEXUS-RAWURL: __nexus_repo__ + + DOCKER-REGISTRY: __nexus_docker_repo__ + + GIT-MR-REPO: https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/dcae/demo/startup/message-router.git + EOF_CONFIG + + # Store credentials in files + mkdir -p /opt/config + 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 "__gitlab_username__" > /opt/config/gitlab_username.txt + echo "__gitlab_password__" > /opt/config/gitlab_password.txt + echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt + + cd /opt + ./dcae_vm_init.sh + + + # Policy engine instantiation + policy_private_port: + type: OS::Neutron::Port + properties: + network: { get_resource: oam_ecomp } + fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.6.1}] + + policy_volume: + type: OS::Cinder::Volume + properties: + name: vol1-policy + size: 50 + volume_type: SSD + image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) + + policy_vm: + type: OS::Nova::Server + properties: + flavor: 15 GB Compute v1 + name: vm1-policy + key_name: { get_resource: vm_key } + block_device_mapping: + - volume_id: { get_resource: policy_volume } + device_name: vda + networks: + - network: { get_param: public_net_id } + - port: { get_resource: policy_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 } + __gitlab_username__: { get_param: gitlab_username } + __gitlab_password__: { get_param: gitlab_password } + __artifacts_version__: { get_param: artifacts_version } + template: | + #!/bin/bash + # DNS/GW IP address configuration + mkdir /opt/config + echo "10.0.0.1" > /opt/config/dns_gw_ip.txt + echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head + resolvconf -u + + # Download dependencies + add-apt-repository -y ppa:openjdk-r/ppa + apt-get update + apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk ntp ntpdate + + # Download scripts from Nexus + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/policy_vm_init.sh -o /opt/policy_vm_init.sh + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/policy_serv.sh -o /opt/policy_serv.sh + chmod +x /opt/policy_vm_init.sh + chmod +x /opt/policy_serv.sh + mv /opt/policy_serv.sh /etc/init.d + update-rc.d policy_serv.sh defaults + + # Download and install docker-engine and docker-compose + apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list + apt-get update + apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual + apt-get install -y docker-engine + service docker start + mkdir /opt/docker + curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose + chmod +x /opt/docker/docker-compose + + # Store credentials in files + mkdir -p /opt/config + 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 "__gitlab_username__" > /opt/config/gitlab_username.txt + echo "__gitlab_password__" > /opt/config/gitlab_password.txt + + # Run docker-compose to spin up containers + cd /opt + git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/policy/docker.git policy + + ./policy_vm_init.sh + + + # APP-C instantiation + appc_private_port: + type: OS::Neutron::Port + properties: + network: { get_resource: oam_ecomp } + fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.2.1}] + + appc_vm: + type: OS::Nova::Server + properties: + image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM) + flavor: 4 GB General Purpose v1 + name: vm1-appc + key_name: { get_resource: vm_key } + networks: + - network: { get_param: public_net_id } + - port: { get_resource: appc_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 } + __gitlab_username__: { get_param: gitlab_username } + __gitlab_password__: { get_param: gitlab_password } + __dmaap_topic__: { get_param: dmaap_topic } + __artifacts_version__: { get_param: artifacts_version } + template: | + #!/bin/bash + + # DNS/GW IP address configuration + mkdir /opt/config + echo "10.0.0.1" > /opt/config/dns_gw_ip.txt + echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head + resolvconf -u + + # Download dependencies + add-apt-repository -y ppa:openjdk-r/ppa + apt-get update + apt-get install -y apt-transport-https ca-certificates wget openjdk-7-jdk ntp ntpdate + + # Download scripts from Nexus + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/appc_vm_init.sh -o /opt/appc_vm_init.sh + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/appc_serv.sh -o /opt/appc_serv.sh + chmod +x /opt/appc_vm_init.sh + chmod +x /opt/appc_serv.sh + mv /opt/appc_serv.sh /etc/init.d + update-rc.d appc_serv.sh defaults + + # Download and install docker-engine and docker-compose + apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D + echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list + apt-get update + apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual + apt-get install -y docker-engine + service docker start + + mkdir /opt/docker + curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose + chmod +x /opt/docker/docker-compose + + # Store credentials in files + mkdir -p /opt/config + 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 "__gitlab_username__" > /opt/config/gitlab_username.txt + echo "__gitlab_password__" > /opt/config/gitlab_password.txt + echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt + + # Run docker-compose to spin up containers + cd /opt + git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/appc/deployment.git appc + ./appc_vm_init.sh + |