1 heat_template_version: 2013-05-23
3 description: Heat template to deploy OpenECOMP components
7 # Generic parameters used across all OpenECOMP components
10 label: Public network name or ID
11 description: Public network that enables remote connection to the compute instance
16 description: Public/Private key pair name
21 description: Public key or SSL certificate to be installed on the compute instance
25 label: Nexus Repository
26 description: Complete URL for the Nexus repository.
30 label: Nexus Docker Images Repository
31 description: Complete URL for the Nexus repository for docker images.
35 label: Nexus Repository Username
36 description: Nexus Repository username
40 label: Nexus Repository Password
41 description: Nexus Repository Password
45 label: Gitlab Repository Username
46 description: Gitlab Repository username
50 label: Gitlab Repository Password
51 description: Gitlab Repository Password
56 description: DmaaP Topic that MSO and A&AI listen to
60 label: Artifacts Version
61 description: Artifacts version of OpenECOMP components
64 # Parameters for DCAE instantiation
68 description: DCAE Zone to use in VM names created by DCAE controller
73 description: DCAE State to use in VM names created by DCAE controller
77 label: Rackspace tenant ID
78 description: Rackspace tenant ID
82 label: Rackspace username
83 description: Rackspace username
87 label: Rackspace API Key
88 description: Rackspace API Key
92 label: Rackspace Password
93 description: Rackspace Password
97 label: Root URL of nexus repository
98 description: Root URL of nexus repository
102 label: Snapshot of Maven repository for DCAE deployment
103 description: Snapshot of Maven repository
107 label: Rackspace Region
108 description: Rackspace region where the DCAE controller will spin the VMs
112 label: Branch of the Gitlab repository
113 description: Branch of the Gitlab repository
118 type: OS::Heat::RandomString
122 # Public key used to access OpenECOMP components
124 type: OS::Nova::KeyPair
130 base: { get_param: key_name }
131 rand: { get_resource: random-str }
132 public_key: { get_param: pub_key }
133 save_private_key: false
136 # OpenECOMP management private network
138 type: OS::Neutron::Net
142 template: oam_ecomp_rand
144 rand: { get_resource: random-str }
147 type: OS::Neutron::Subnet
151 template: oam_ecomp_rand
153 rand: { get_resource: random-str }
154 network_id: { get_resource: oam_ecomp }
156 value: { get_attr: [oam_ecomp, name] }
159 # DNS Server instantiation
161 type: OS::Neutron::Port
163 network: { get_resource: oam_ecomp }
164 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.0.1}]
167 type: OS::Nova::Server
169 image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)
170 flavor: 4 GB General Purpose v1
172 key_name: { get_resource: vm_key }
174 - network: { get_param: public_net_id }
175 - port: { get_resource: dns_private_port }
176 user_data_format: RAW
180 __nexus_repo__: { get_param: nexus_repo }
181 __nexus_docker_repo__: { get_param: nexus_docker_repo }
182 __nexus_username__: { get_param: nexus_username }
183 __nexus_password__: { get_param: nexus_password }
184 __gitlab_username__: { get_param: gitlab_username }
185 __gitlab_password__: { get_param: gitlab_password }
186 __artifacts_version__: { get_param: artifacts_version }
190 # Download dependencies
191 add-apt-repository -y ppa:openjdk-r/ppa
193 apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk bind9 bind9utils bind9-doc ntp ntpdate
196 mkdir /etc/bind/zones
198 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/db_simpledemo_openecomp_org -o /etc/bind/zones/db.simpledemo.openecomp.org
199 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/named.conf.options -o /etc/bind/named.conf.options
200 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/named.conf.local -o /etc/bind/named.conf.local
204 sed -i "s/OPTIONS=.*/OPTIONS=\"-4 -u bind\"/g" /etc/default/bind9
205 service bind9 restart
210 type: OS::Neutron::Port
212 network: { get_resource: oam_ecomp }
213 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.1.1}]
216 type: OS::Cinder::Volume
221 image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)
224 type: OS::Nova::Server
227 flavor: 15 GB Compute v1
229 key_name: { get_resource: vm_key }
230 block_device_mapping:
231 - volume_id: { get_resource: aai_volume }
234 - network: { get_param: public_net_id }
235 - port: { get_resource: aai_private_port }
236 user_data_format: RAW
240 __nexus_repo__: { get_param: nexus_repo }
241 __nexus_docker_repo__: { get_param: nexus_docker_repo }
242 __nexus_username__: { get_param: nexus_username }
243 __nexus_password__: { get_param: nexus_password }
244 __gitlab_username__: { get_param: gitlab_username }
245 __gitlab_password__: { get_param: gitlab_password }
246 __dmaap_topic__: { get_param: dmaap_topic }
247 __artifacts_version__: { get_param: artifacts_version }
251 # DNS/GW IP address configuration
252 echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
255 # Download dependencies
256 add-apt-repository -y ppa:openjdk-r/ppa
258 apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk ntp ntpdate
260 # Download scripts from Nexus
261 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai_vm_init.sh -o /opt/aai_vm_init.sh
262 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai_serv.sh -o /opt/aai_serv.sh
263 chmod +x /opt/aai_vm_init.sh
264 chmod +x /opt/aai_serv.sh
265 mv /opt/aai_serv.sh /etc/init.d
266 update-rc.d aai_serv.sh defaults
268 # Download and install docker-engine and docker-compose
269 apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
270 echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
272 apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
273 apt-get install -y docker-engine
276 mkdir -p /opt/openecomp/aai/logs
277 mkdir -p /opt/openecomp/aai/data
279 curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
280 chmod +x /opt/docker/docker-compose
282 # Store credentials in files
284 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
285 echo "__nexus_username__" > /opt/config/nexus_username.txt
286 echo "__nexus_password__" > /opt/config/nexus_password.txt
287 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
288 echo "__gitlab_username__" > /opt/config/gitlab_username.txt
289 echo "__gitlab_password__" > /opt/config/gitlab_password.txt
290 echo "gerrit.openecomp.org" > /opt/config/gitlab_certname.txt
291 # Execute docker instructions
298 type: OS::Neutron::Port
300 network: { get_resource: oam_ecomp }
301 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.5.1}]
304 type: OS::Nova::Server
306 image: Ubuntu 16.04 LTS (Xenial Xerus) (PVHVM)
307 flavor: 4 GB General Purpose v1
309 key_name: { get_resource: vm_key }
311 - network: { get_param: public_net_id }
312 - port: { get_resource: mso_private_port }
313 user_data_format: RAW
317 __nexus_repo__: { get_param: nexus_repo }
318 __nexus_docker_repo__: { get_param: nexus_docker_repo }
319 __nexus_username__: { get_param: nexus_username }
320 __nexus_password__: { get_param: nexus_password }
321 __gitlab_username__: { get_param: gitlab_username }
322 __gitlab_password__: { get_param: gitlab_password }
323 __openstack_username__: { get_param: openstack_username }
324 __openstack_tenant_id__: { get_param: openstack_tenant_id }
325 __openstack_api_key__: { get_param: openstack_api_key }
326 __dmaap_topic__: { get_param: dmaap_topic }
327 __artifacts_version__: { get_param: artifacts_version }
331 # DNS/GW IP address configuration
332 echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
335 # Download dependencies
336 add-apt-repository -y ppa:openjdk-r/ppa
338 apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk git ntp ntpdate
340 # Download scripts from Nexus
341 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mso_vm_init.sh -o /opt/mso_vm_init.sh
342 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mso_serv.sh -o /opt/mso_serv.sh
343 chmod +x /opt/mso_vm_init.sh
344 chmod +x /opt/mso_serv.sh
345 mv /opt/mso_serv.sh /etc/init.d
346 update-rc.d mso_serv.sh defaults
348 # Download and install docker-engine and docker-compose
349 apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
350 echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list
352 apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
353 apt-get install -y docker-engine
357 curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
358 chmod +x /opt/docker/docker-compose
360 # Store credentials in files
362 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
363 echo "__nexus_username__" > /opt/config/nexus_username.txt
364 echo "__nexus_password__" > /opt/config/nexus_password.txt
365 echo "__gitlab_username__" > /opt/config/gitlab_username.txt
366 echo "__gitlab_password__" > /opt/config/gitlab_password.txt
367 echo "__openstack_username__" > /opt/config/openstack_username.txt
368 echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt
369 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
372 # Run docker-compose to spin up containers
374 git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/mso/docker-config.git test_lab
375 MSO_ENCRYPTION_KEY=$(cat /opt/test_lab/encryption.key)
376 echo -n "__openstack_api_key__" | openssl aes-128-ecb -e -K $MSO_ENCRYPTION_KEY -nosalt | xxd -c 256 -p > /opt/config/api_key.txt
380 # Message Router instantiation
381 mrouter_private_port:
382 type: OS::Neutron::Port
384 network: { get_resource: oam_ecomp }
385 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.11.1}]
388 type: OS::Nova::Server
390 image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)
392 name: vm1-message-router
393 key_name: { get_resource: vm_key }
395 - network: { get_param: public_net_id }
396 - port: { get_resource: mrouter_private_port }
397 user_data_format: RAW
401 __nexus_repo__: { get_param: nexus_repo }
402 __nexus_docker_repo__: { get_param: nexus_docker_repo }
403 __nexus_username__: { get_param: nexus_username }
404 __nexus_password__: { get_param: nexus_password }
405 __gitlab_username__: { get_param: gitlab_username }
406 __gitlab_password__: { get_param: gitlab_password }
407 __artifacts_version__: { get_param: artifacts_version }
411 # DNS/GW IP address configuration
412 echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
415 # Download dependencies
416 add-apt-repository -y ppa:openjdk-r/ppa
418 apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk ntp ntpdate
420 # Download scripts from Nexus
421 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mr_vm_init.sh -o /opt/mr_vm_init.sh
422 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mr_serv.sh -o /opt/mr_serv.sh
423 chmod +x /opt/mr_vm_init.sh
424 chmod +x /opt/mr_serv.sh
425 mv /opt/mr_serv.sh /etc/init.d
426 update-rc.d mr_serv.sh defaults
428 # Download and install docker-engine and docker-compose
429 apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
430 echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
432 apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
433 apt-get install -y docker-engine
437 curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
438 chmod +x /opt/docker/docker-compose
440 # Store credentials in files
442 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
443 echo "__nexus_username__" > /opt/config/nexus_username.txt
444 echo "__nexus_password__" > /opt/config/nexus_password.txt
445 echo "__gitlab_username__" > /opt/config/gitlab_username.txt
446 echo "__gitlab_password__" > /opt/config/gitlab_password.txt
448 # Run docker-compose to spin up containers
450 git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/dcae/demo/startup/message-router.git dcae-startup-vm-message-router
454 # RobotE2E instantiation
456 type: OS::Neutron::Port
458 network: { get_resource: oam_ecomp }
459 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.10.1}]
462 type: OS::Nova::Server
464 image: Ubuntu 16.04 LTS (Xenial Xerus) (PVHVM)
465 flavor: 2 GB General Purpose v1
467 key_name: { get_resource: vm_key }
469 - network: { get_param: public_net_id }
470 - port: { get_resource: robot_private_port }
471 user_data_format: RAW
475 __nexus_repo__: { get_param: nexus_repo }
476 __nexus_docker_repo__: { get_param: nexus_docker_repo }
477 __nexus_username__: { get_param: nexus_username }
478 __nexus_password__: { get_param: nexus_password }
479 __gitlab_username__: { get_param: gitlab_username }
480 __gitlab_password__: { get_param: gitlab_password }
481 __network_name__: { get_attr: [oam_ecomp, name] }
482 __openstack_username__: { get_param: openstack_username }
483 __openstack_api_key__: { get_param : openstack_api_key }
484 __openstack_password__: { get_param: openstack_password }
485 __artifacts_version__: { get_param: artifacts_version }
486 __openstack_region__: { get_param: openstack_region }
490 # DNS/GW IP address configuration
491 echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
494 # Download dependencies
495 add-apt-repository -y ppa:openjdk-r/ppa
497 apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk ntp ntpdate
499 # Download scripts from Nexus
500 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/robot_vm_init.sh -o /opt/robot_vm_init.sh
501 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/robot_serv.sh -o /opt/robot_serv.sh
502 chmod +x /opt/robot_vm_init.sh
503 chmod +x /opt/robot_serv.sh
504 mv /opt/robot_serv.sh /etc/init.d
505 update-rc.d robot_serv.sh defaults
507 # Download and install docker-engine and docker-compose
508 apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
509 echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list
511 apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
512 apt-get install -y docker-engine
513 #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
517 curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
518 chmod +x /opt/docker/docker-compose
520 # Store credentials in files
522 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
523 echo "__nexus_repo__" > /opt/config/nexus_repo.txt
524 echo "__nexus_username__" > /opt/config/nexus_username.txt
525 echo "__nexus_password__" > /opt/config/nexus_password.txt
526 echo "__gitlab_username__" > /opt/config/gitlab_username.txt
527 echo "__gitlab_password__" > /opt/config/gitlab_password.txt
528 echo "__network_name__" > /opt/config/network.txt
529 echo "__openstack_username__" > /opt/config/openstack_username.txt
530 echo "__openstack_password__" > /opt/config/openstack_password.txt
531 echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt
532 echo "__openstack_region__" > /opt/config/region.txt
534 # Execute RobotETE-specific instructions: create share folder to run as a docker volume
535 mkdir -p /opt/eteshare/logs
536 mkdir -p /opt/eteshare/config
538 # Run docker-compose to spin up containers
540 git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/testsuite/properties.git testsuite/properties
546 type: OS::Neutron::Port
548 network: { get_resource: oam_ecomp }
549 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.8.1}]
552 type: OS::Nova::Server
554 image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)
555 flavor: 2 GB General Purpose v1
557 key_name: { get_resource: vm_key }
559 - network: { get_param: public_net_id }
560 - port: { get_resource: vid_private_port }
561 user_data_format: RAW
565 __nexus_repo__: { get_param: nexus_repo }
566 __nexus_docker_repo__: { get_param: nexus_docker_repo }
567 __nexus_username__: { get_param: nexus_username }
568 __nexus_password__: { get_param: nexus_password }
569 __gitlab_username__: { get_param: gitlab_username }
570 __gitlab_password__: { get_param: gitlab_password }
571 __artifacts_version__: { get_param: artifacts_version }
575 # DNS/GW IP address configuration
576 echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
579 # Download dependencies
580 add-apt-repository -y ppa:openjdk-r/ppa
582 apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk make git ntp ntpdate
584 # Download scripts from Nexus
585 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/vid_vm_init.sh -o /opt/vid_vm_init.sh
586 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/vid_serv.sh -o /opt/vid_serv.sh
587 chmod +x /opt/vid_vm_init.sh
588 chmod +x /opt/vid_serv.sh
589 mv /opt/vid_serv.sh /etc/init.d
590 update-rc.d vid_serv.sh defaults
592 # Download and install docker-engine and docker-compose
593 apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
594 echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
596 apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
597 apt-get install -y docker-engine
601 curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
602 chmod +x /opt/docker/docker-compose
604 # Store credentials in files
606 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
607 echo "__nexus_username__" > /opt/config/nexus_username.txt
608 echo "__nexus_password__" > /opt/config/nexus_password.txt
609 echo "__gitlab_username__" > /opt/config/gitlab_username.txt
610 echo "__gitlab_password__" > /opt/config/gitlab_password.txt
612 # Run script to spin up containers
614 git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/vid.git
618 # SDN-C instantiation
620 type: OS::Neutron::Port
622 network: { get_resource: oam_ecomp }
623 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.7.1}]
626 type: OS::Nova::Server
628 image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)
629 flavor: 4 GB General Purpose v1
631 key_name: { get_resource: vm_key }
633 - network: { get_param: public_net_id }
634 - port: { get_resource: sdnc_private_port }
635 user_data_format: RAW
639 __nexus_repo__: { get_param: nexus_repo }
640 __nexus_docker_repo__: { get_param: nexus_docker_repo }
641 __nexus_username__: { get_param: nexus_username }
642 __nexus_password__: { get_param: nexus_password }
643 __gitlab_username__: { get_param: gitlab_username }
644 __gitlab_password__: { get_param: gitlab_password }
645 __artifacts_version__: { get_param: artifacts_version }
649 # DNS/GW IP address configuration
651 echo "10.0.0.1" > /opt/config/dns_gw_ip.txt
652 echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
655 # Download dependencies
656 add-apt-repository -y ppa:openjdk-r/ppa
658 apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk ntp ntpdate
660 # Download scripts from Nexus
661 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/sdnc_vm_init.sh -o /opt/sdnc_vm_init.sh
662 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/sdnc_serv.sh -o /opt/sdnc_serv.sh
663 chmod +x /opt/sdnc_vm_init.sh
664 chmod +x /opt/sdnc_serv.sh
665 mv /opt/sdnc_serv.sh /etc/init.d
666 update-rc.d sdnc_serv.sh defaults
668 # Download and install docker-engine and docker-compose
669 apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
670 echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
672 apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
673 apt-get install -y docker-engine
677 curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
678 chmod +x /opt/docker/docker-compose
680 # Store credentials in files
682 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
683 echo "__nexus_username__" > /opt/config/nexus_username.txt
684 echo "__nexus_password__" > /opt/config/nexus_password.txt
685 echo "__gitlab_username__" > /opt/config/gitlab_username.txt
686 echo "__gitlab_password__" > /opt/config/gitlab_password.txt
688 # Run docker-compose to spin up containers
690 git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/sdnc/oam.git sdnc
696 type: OS::Neutron::Port
698 network: { get_resource: oam_ecomp }
699 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.3.1}]
702 type: OS::Cinder::Volume
707 image: Ubuntu 16.04 LTS (Xenial Xerus) (PVHVM)
710 type: OS::Cinder::Volume
716 sdc_volume_attachment:
717 type: OS::Cinder::VolumeAttachment
719 volume_id: { get_resource: sdc_volume_data }
720 instance_uuid: { get_resource: sdc_vm }
721 mountpoint: /dev/xvdb
724 type: OS::Nova::Server
726 flavor: 15 GB Compute v1
728 key_name: { get_resource: vm_key }
729 block_device_mapping:
730 - volume_id: { get_resource: sdc_volume_local }
733 - network: { get_param: public_net_id }
734 - port: { get_resource: sdc_private_port }
735 user_data_format: RAW
739 __nexus_repo__: { get_param: nexus_repo }
740 __nexus_docker_repo__: { get_param: nexus_docker_repo }
741 __nexus_username__: { get_param: nexus_username }
742 __nexus_password__: { get_param: nexus_password }
743 __gitlab_username__: { get_param: gitlab_username }
744 __gitlab_password__: { get_param: gitlab_password }
745 __env_name__: { get_param: dmaap_topic }
746 __artifacts_version__: { get_param: artifacts_version }
749 # DNS/GW IP address configuration
751 echo "10.0.0.1" > /opt/config/dns_gw_ip.txt
752 echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
755 # Download dependencies
756 add-apt-repository -y ppa:openjdk-r/ppa
758 apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk ntp ntpdate
760 # Download scripts from Nexus
761 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/asdc_vm_init.sh -o /opt/asdc_vm_init.sh
762 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/asdc_serv.sh -o /opt/asdc_serv.sh
763 chmod +x /opt/asdc_vm_init.sh
764 chmod +x /opt/asdc_serv.sh
765 mv /opt/asdc_serv.sh /etc/init.d
766 update-rc.d asdc_serv.sh defaults
768 # Download and install docker-engine and docker-compose
769 apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
770 echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list
772 apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
773 apt-get install -y docker-engine
776 curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
777 chmod +x /opt/docker/docker-compose
779 # Create partition and mount the external volume
780 curl --user '__nexus_username__:__nexus_password__' __nexus_repo__/org.openecomp.boot/asdc_ext_volume_partitions.txt -o /opt/asdc_ext_volume_partitions.txt
781 sfdisk /dev/xvdb < /opt/asdc_ext_volume_partitions.txt
782 mkfs -t ext4 /dev/xvdb1
784 mount /dev/xvdb1 /data
785 echo "/dev/xvdb1 /data ext4 errors=remount-ro,noatime,barrier=0 0 1" >> /etc/fstab
787 # Store credentials in files
789 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
790 echo "__nexus_username__" > /opt/config/nexus_username.txt
791 echo "__nexus_password__" > /opt/config/nexus_password.txt
792 echo "__gitlab_username__" > /opt/config/gitlab_username.txt
793 echo "__gitlab_password__" > /opt/config/gitlab_password.txt
794 echo "__env_name__" > /opt/config/env_name.txt
796 # Run SDC-specific instructions
798 mkdir -p /data/environments
799 mkdir -p /data/scripts
800 mkdir -p /data/logs/BE
801 mkdir -p /data/logs/FE
803 chmod 775 /data/logs/BE
804 chmod 775 /data/logs/FE
806 git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/sdc.git
808 cat > /root/.bash_aliases << EOF
809 alias dcls='/data/scripts/docker_clean.sh \$1'
810 alias dlog='/data/scripts/docker_login.sh \$1'
811 alias rund='/data/scripts/docker_run.sh'
812 alias health='/data/scripts/docker_health.sh'
815 # Run docker-compose to spin up containers
819 # PORTAL instantiation
821 type: OS::Neutron::Port
823 network: { get_resource: oam_ecomp }
824 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.9.1}]
827 type: OS::Cinder::Volume
832 image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)
835 type: OS::Nova::Server
837 flavor: 15 GB Memory v1
839 key_name: { get_resource: vm_key }
840 block_device_mapping:
841 - volume_id: { get_resource: portal_volume }
844 - network: { get_param: public_net_id }
845 - port: { get_resource: portal_private_port }
846 user_data_format: RAW
850 __nexus_repo__: { get_param: nexus_repo }
851 __nexus_docker_repo__: { get_param: nexus_docker_repo }
852 __nexus_username__: { get_param: nexus_username }
853 __nexus_password__: { get_param: nexus_password }
854 __gitlab_username__: { get_param: gitlab_username }
855 __gitlab_password__: { get_param: gitlab_password }
856 __artifacts_version__: { get_param: artifacts_version }
859 # DNS/GW IP address configuration
861 echo "10.0.0.1" > /opt/config/dns_gw_ip.txt
862 echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
865 # Download dependencies
866 add-apt-repository -y ppa:openjdk-r/ppa
868 apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk unzip mysql-client-core-5.6 ntp ntpdate
870 # Download scripts from Nexus
871 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/portal_vm_init.sh -o /opt/portal_vm_init.sh
872 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/portal_serv.sh -o /opt/portal_serv.sh
873 chmod +x /opt/portal_vm_init.sh
874 chmod +x /opt/portal_serv.sh
875 mv /opt/portal_serv.sh /etc/init.d
876 update-rc.d portal_serv.sh defaults
878 # Download and install docker-engine and docker-compose
879 apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
880 echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
882 apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
883 apt-get install -y docker-engine
886 curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
887 chmod +x /opt/docker/docker-compose
889 # Store credentials in files
891 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
892 echo "__nexus_username__" > /opt/config/nexus_username.txt
893 echo "__nexus_password__" > /opt/config/nexus_password.txt
894 echo "__gitlab_username__" > /opt/config/gitlab_username.txt
895 echo "__gitlab_password__" > /opt/config/gitlab_password.txt
897 # Run Portal-specific instructions
898 mkdir -p /PROJECT/OpenSource/UbuntuEP/logs
900 git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/portal.git
902 # Run docker-compose to spin up containers
906 # DCAE Controller instantiation
908 type: OS::Neutron::Port
910 network: { get_resource: oam_ecomp }
911 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.4.1}]
913 type: OS::Nova::Server
915 image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)
916 flavor: 8 GB General Purpose v1
917 name: vm1-dcae-controller
918 key_name: { get_resource: vm_key }
920 - network: { get_param: public_net_id }
921 - port: { get_resource: dcae_c_private_port }
922 user_data_format: RAW
926 __nexus_repo__: { get_param: nexus_repo }
927 __nexus_docker_repo__: { get_param: nexus_docker_repo }
928 __nexus_username__: { get_param: nexus_username }
929 __nexus_password__: { get_param: nexus_password }
930 __nexus_url_snapshots__: { get_param: nexus_url_snapshot }
931 __gitlab_username__: { get_param: gitlab_username }
932 __gitlab_password__: { get_param: gitlab_password }
933 __gitlab_branch__: { get_param: gitlab_branch }
934 __dcae_zone__: { get_param: dcae_zone }
935 __dcae_state__: { get_param: dcae_state }
936 __artifacts_version__: { get_param: artifacts_version }
937 __tenant_id__: { get_param: openstack_tenant_id }
938 __openstack_private_network_name__: { get_attr: [oam_ecomp, name] }
939 __openstack_user__: { get_param: openstack_username }
940 __openstack_password__: { get_param: openstack_api_key }
941 __key_name__: { get_param: key_name }
942 __rand_str__: { get_resource: random-str }
943 __pub_key__: { get_param: pub_key }
944 __nexus_repo_root__: { get_param: nexus_repo_root }
945 __openstack_region__: { get_param: openstack_region }
948 # DNS/GW IP address configuration
949 echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
952 # Download dependencies
953 add-apt-repository -y ppa:openjdk-r/ppa
955 apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk make git ntp ntpdate
957 # Download scripts from Nexus
958 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dcae_vm_init.sh -o /opt/dcae_vm_init.sh
959 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dcae_serv.sh -o /opt/dcae_serv.sh
960 chmod +x /opt/dcae_vm_init.sh
961 chmod +x /opt/dcae_serv.sh
962 mv /opt/dcae_serv.sh /etc/init.d
963 update-rc.d dcae_serv.sh defaults
965 # Download and install docker-engine and docker-compose
966 apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
967 echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
969 apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
970 apt-get install -y docker-engine
973 curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
974 chmod +x /opt/docker/docker-compose
976 # DCAE Controller specific deployment
978 git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/dcae/demo/startup/controller.git dcae-startup-vm-controller
980 cd dcae-startup-vm-controller
981 mkdir -p /opt/app/dcae-controller
982 cat > /opt/app/dcae-controller/config.yaml << EOF_CONFIG
984 STATE: __dcae_state__
985 DCAE-VERSION: 0.1.0-SNAPSHOT
986 HORIZON-URL: https://mycloud.rackspace.com/cloud/__tenant_id__
987 KEYSTONE-URL: https://identity.api.rackspacecloud.com/v2.0
988 OPENSTACK-TENANT-ID: __tenant_id__
989 OPENSTACK-TENANT-NAME: OPEN-ECOMP
990 OPENSTACK-REGION: __openstack_region__
991 OPENSTACK-PRIVATE-NETWORK: __openstack_private_network_name__
992 OPENSTACK-USER: __openstack_user__
993 OPENSTACK-PASSWORD: __openstack_password__
994 OPENSTACK-KEYNAME: __key_name_____rand_str___dcae
995 OPENSTACK-PUBKEY: __pub_key__
997 NEXUS-URL-ROOT: __nexus_repo_root__
998 NEXUS-USER: __nexus_username__
999 NEXUS-PASSWORD: __nexus_password__
1000 NEXUS-URL-SNAPSHOTS: __nexus_url_snapshots__
1001 NEXUS-RAWURL: __nexus_repo__
1003 DOCKER-REGISTRY: __nexus_docker_repo__
1005 GIT-MR-REPO: https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/dcae/demo/startup/message-router.git
1008 # Store credentials in files
1009 mkdir -p /opt/config
1010 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1011 echo "__nexus_username__" > /opt/config/nexus_username.txt
1012 echo "__nexus_password__" > /opt/config/nexus_password.txt
1013 echo "__gitlab_username__" > /opt/config/gitlab_username.txt
1014 echo "__gitlab_password__" > /opt/config/gitlab_password.txt
1015 echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt
1021 # Policy engine instantiation
1022 policy_private_port:
1023 type: OS::Neutron::Port
1025 network: { get_resource: oam_ecomp }
1026 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.6.1}]
1029 type: OS::Cinder::Volume
1034 image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)
1037 type: OS::Nova::Server
1039 flavor: 15 GB Compute v1
1041 key_name: { get_resource: vm_key }
1042 block_device_mapping:
1043 - volume_id: { get_resource: policy_volume }
1046 - network: { get_param: public_net_id }
1047 - port: { get_resource: policy_private_port }
1048 user_data_format: RAW
1052 __nexus_repo__: { get_param: nexus_repo }
1053 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1054 __nexus_username__: { get_param: nexus_username }
1055 __nexus_password__: { get_param: nexus_password }
1056 __gitlab_username__: { get_param: gitlab_username }
1057 __gitlab_password__: { get_param: gitlab_password }
1058 __artifacts_version__: { get_param: artifacts_version }
1061 # DNS/GW IP address configuration
1063 echo "10.0.0.1" > /opt/config/dns_gw_ip.txt
1064 echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
1067 # Download dependencies
1068 add-apt-repository -y ppa:openjdk-r/ppa
1070 apt-get install -y apt-transport-https ca-certificates wget openjdk-8-jdk ntp ntpdate
1072 # Download scripts from Nexus
1073 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/policy_vm_init.sh -o /opt/policy_vm_init.sh
1074 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/policy_serv.sh -o /opt/policy_serv.sh
1075 chmod +x /opt/policy_vm_init.sh
1076 chmod +x /opt/policy_serv.sh
1077 mv /opt/policy_serv.sh /etc/init.d
1078 update-rc.d policy_serv.sh defaults
1080 # Download and install docker-engine and docker-compose
1081 apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
1082 echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
1084 apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
1085 apt-get install -y docker-engine
1086 service docker start
1088 curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
1089 chmod +x /opt/docker/docker-compose
1091 # Store credentials in files
1092 mkdir -p /opt/config
1093 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1094 echo "__nexus_username__" > /opt/config/nexus_username.txt
1095 echo "__nexus_password__" > /opt/config/nexus_password.txt
1096 echo "__gitlab_username__" > /opt/config/gitlab_username.txt
1097 echo "__gitlab_password__" > /opt/config/gitlab_password.txt
1099 # Run docker-compose to spin up containers
1101 git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/policy/docker.git policy
1106 # APP-C instantiation
1108 type: OS::Neutron::Port
1110 network: { get_resource: oam_ecomp }
1111 fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": 10.0.2.1}]
1114 type: OS::Nova::Server
1116 image: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)
1117 flavor: 4 GB General Purpose v1
1119 key_name: { get_resource: vm_key }
1121 - network: { get_param: public_net_id }
1122 - port: { get_resource: appc_private_port }
1123 user_data_format: RAW
1127 __nexus_repo__: { get_param: nexus_repo }
1128 __nexus_docker_repo__: { get_param: nexus_docker_repo }
1129 __nexus_username__: { get_param: nexus_username }
1130 __nexus_password__: { get_param: nexus_password }
1131 __gitlab_username__: { get_param: gitlab_username }
1132 __gitlab_password__: { get_param: gitlab_password }
1133 __dmaap_topic__: { get_param: dmaap_topic }
1134 __artifacts_version__: { get_param: artifacts_version }
1138 # DNS/GW IP address configuration
1140 echo "10.0.0.1" > /opt/config/dns_gw_ip.txt
1141 echo "nameserver 10.0.0.1" >> /etc/resolvconf/resolv.conf.d/head
1144 # Download dependencies
1145 add-apt-repository -y ppa:openjdk-r/ppa
1147 apt-get install -y apt-transport-https ca-certificates wget openjdk-7-jdk ntp ntpdate
1149 # Download scripts from Nexus
1150 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/appc_vm_init.sh -o /opt/appc_vm_init.sh
1151 curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/appc_serv.sh -o /opt/appc_serv.sh
1152 chmod +x /opt/appc_vm_init.sh
1153 chmod +x /opt/appc_serv.sh
1154 mv /opt/appc_serv.sh /etc/init.d
1155 update-rc.d appc_serv.sh defaults
1157 # Download and install docker-engine and docker-compose
1158 apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
1159 echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
1161 apt-get install -y linux-image-extra-$(uname -r) linux-image-extra-virtual
1162 apt-get install -y docker-engine
1163 service docker start
1166 curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /opt/docker/docker-compose
1167 chmod +x /opt/docker/docker-compose
1169 # Store credentials in files
1170 mkdir -p /opt/config
1171 echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt
1172 echo "__nexus_username__" > /opt/config/nexus_username.txt
1173 echo "__nexus_password__" > /opt/config/nexus_password.txt
1174 echo "__gitlab_username__" > /opt/config/gitlab_username.txt
1175 echo "__gitlab_password__" > /opt/config/gitlab_password.txt
1176 echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt
1178 # Run docker-compose to spin up containers
1180 git clone https://__gitlab_username__:__gitlab_password__@gerrit.openecomp.org/r/a/appc/deployment.git appc