diff options
Diffstat (limited to 'heat/OpenECOMP/onap_openstack.yaml')
-rw-r--r-- | heat/OpenECOMP/onap_openstack.yaml | 838 |
1 files changed, 247 insertions, 591 deletions
diff --git a/heat/OpenECOMP/onap_openstack.yaml b/heat/OpenECOMP/onap_openstack.yaml index 9d72fad2..701692d2 100644 --- a/heat/OpenECOMP/onap_openstack.yaml +++ b/heat/OpenECOMP/onap_openstack.yaml @@ -1,6 +1,6 @@ heat_template_version: 2015-10-15 -description: Heat template to install ONAP components on Mitaka OpenStack +description: Heat template to install ONAP components ############## # # @@ -10,7 +10,12 @@ description: Heat template to install ONAP components on Mitaka OpenStack parameters: - # Generic parameters used across all ONAP components + ############################################## + # # + # Parameters used across all ONAP components # + # # + ############################################## + public_net_id: type: string description: Public network for floating IP address allocation @@ -82,7 +87,7 @@ parameters: dmaap_topic: type: string - description: DmaaP Topic name + description: DMaaP Topic name openstack_tenant_id: type: string @@ -92,6 +97,10 @@ parameters: type: string description: Openstack username + openstack_auth_method: + type: string + description: Openstack authentication method (password VS. api-key) + openstack_api_key: type: string description: Openstack API Key @@ -104,18 +113,28 @@ parameters: type: string description: URL of Openstack Keystone - # Network parameters + cloud_env: + type: string + description: Cloud Provider Name + + ###################### + # # + # Network parameters # + # # + ###################### + external_dns: type: comma_delimited_list description: External DNS for OAM ONAP network + ### Private IP addresses ### oam_network_cidr: type: string description: CIDR of the OAM ONAP network aai_ip_addr: type: string - description: A&AI IP Address + description: AAI IP Address appc_ip_addr: type: string @@ -124,6 +143,26 @@ parameters: dcae_ip_addr: type: string description: DCAE IP Address + + dcae_coll_ip_addr: + type: string + description: DCAE Collector IP Address + + dcae_db_ip_addr: + type: string + description: DCAE Database IP Address + + dcae_hdp1_ip_addr: + type: string + description: Hadoop VM1 IP Address + + dcae_hdp2_ip_addr: + type: string + description: Hadoop VM2 IP Address + + dcae_hdp3_ip_addr: + type: string + description: Hadoop VM3 IP Address dns_ip_addr: type: string @@ -161,7 +200,17 @@ parameters: type: string description: VID IP Address - # Parameters for DCAE instantiation + + ########################### + # # + # Parameters used by DCAE # + # # + ########################### + + dcae_base_environment: + type: string + description: DCAE Base Environment configuration (RACKSPACE/2-NIC/...) + dcae_zone: type: string description: DCAE Zone to use in VM names created by DCAE controller @@ -185,6 +234,10 @@ parameters: gitlab_branch: type: string description: Branch of the Gitlab repository + + dcae_code_version: + type: string + description: DCAE Code Version Number ############# @@ -204,12 +257,12 @@ resources: vm_key: type: OS::Nova::KeyPair properties: - name: + name: str_replace: template: base_rand params: base: { get_param: key_name } - rand: { get_resource: random-str } + rand: { get_resource: random-str } public_key: { get_param: pub_key } save_private_key: false @@ -218,7 +271,7 @@ resources: oam_ecomp: type: OS::Neutron::Net properties: - name: + name: str_replace: template: oam_ecomp_rand params: @@ -227,7 +280,7 @@ resources: oam_ecomp_subnet: type: OS::Neutron::Subnet properties: - name: + name: str_replace: template: oam_ecomp_rand params: @@ -286,6 +339,7 @@ resources: __aai_ip_addr__: { get_param: aai_ip_addr } __appc_ip_addr__: { get_param: appc_ip_addr } __dcae_ip_addr__: { get_param: dcae_ip_addr } + __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr } __mso_ip_addr__: { get_param: mso_ip_addr } __mr_ip_addr__: { get_param: mr_ip_addr } __policy_ip_addr__: { get_param: policy_ip_addr } @@ -294,62 +348,36 @@ resources: __sdc_ip_addr__: { get_param: sdc_ip_addr } __sdnc_ip_addr__: { get_param: sdnc_ip_addr } __vid_ip_addr__: { get_param: vid_ip_addr } + __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash - hn=`hostname` - echo 127.0.0.1 $hn >> /etc/hosts - - # 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__/bind_zones -o /etc/bind/zones/db.simpledemo.openecomp.org - curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/bind_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 - #NETMASK=$(echo "__oam_network_cidr__" | cut -d"/" -f2) - #if [[ $NETMASK == "8" ]] - #then - # ADDR=$(echo "__dns_ip_addr__" | cut -d"." -f1) - #elif [[ $NETMASK == "16" ]] - #then - # ADDR=$(echo "__dns_ip_addr__" | cut -d"." -f1).$(echo "__dns_ip_addr__" | cut -d"." -f2) - #elif [[ $NETMASK == "24" ]] - #then - # ADDR=$(echo "__dns_ip_addr__" | cut -d"." -f1).$(echo "__dns_ip_addr__" | cut -d"." -f2).$(echo "__dns_ip_addr__" | cut -d"." -f3) - #fi - - #sed -i "s/netmask/$ADDR\/$NETMASK/g" /etc/bind/named.conf.options - sed -i "s/dns_ip_addr/"__dns_ip_addr__"/g" /etc/bind/named.conf.options - - A=$(echo "__dcae_ip_addr__" | cut -d"." -f1) - B=$(echo "__dcae_ip_addr__" | cut -d"." -f2) - C=$(echo "__dcae_ip_addr__" | cut -d"." -f3) - sed -i "s/aai_ip_addr/"__aai_ip_addr__"/g" /etc/bind/zones/db.simpledemo.openecomp.org - sed -i "s/appc_ip_addr/"__appc_ip_addr__"/g" /etc/bind/zones/db.simpledemo.openecomp.org - sed -i "s/dcae_ip_addr/"__dcae_ip_addr__"/g" /etc/bind/zones/db.simpledemo.openecomp.org - sed -i "s/dns_ip_addr/"__dns_ip_addr__"/g" /etc/bind/zones/db.simpledemo.openecomp.org - sed -i "s/mso_ip_addr/"__mso_ip_addr__"/g" /etc/bind/zones/db.simpledemo.openecomp.org - sed -i "s/mr_ip_addr/"__mr_ip_addr__"/g" /etc/bind/zones/db.simpledemo.openecomp.org - sed -i "s/policy_ip_addr/"__policy_ip_addr__"/g" /etc/bind/zones/db.simpledemo.openecomp.org - sed -i "s/portal_ip_addr/"__portal_ip_addr__"/g" /etc/bind/zones/db.simpledemo.openecomp.org - sed -i "s/robot_ip_addr/"__robot_ip_addr__"/g" /etc/bind/zones/db.simpledemo.openecomp.org - sed -i "s/sdc_ip_addr/"__sdc_ip_addr__"/g" /etc/bind/zones/db.simpledemo.openecomp.org - sed -i "s/sdnc_ip_addr/"__sdnc_ip_addr__"/g" /etc/bind/zones/db.simpledemo.openecomp.org - sed -i "s/vid_ip_addr/"__vid_ip_addr__"/g" /etc/bind/zones/db.simpledemo.openecomp.org - sed -i "s/dcae_coll_ip_addr/"$A.$B.$C"/g" /etc/bind/zones/db.simpledemo.openecomp.org - - modprobe ip_gre - sed -i "s/OPTIONS=.*/OPTIONS=\"-4 -u bind\"/g" /etc/default/bind9 - - # Restart bind to pick up configuration changes - service bind9 restart + # Create configuration files + mkdir -p /opt/config + echo "__nexus_repo__" > /opt/config/nexus_repo.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 "__aai_ip_addr__" > /opt/config/aai_ip_addr.txt + echo "__appc_ip_addr__" > /opt/config/appc_ip_addr.txt + echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt + echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt + echo "__mso_ip_addr__" > /opt/config/mso_ip_addr.txt + echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt + echo "__policy_ip_addr__" > /opt/config/policy_ip_addr.txt + echo "__portal_ip_addr__" > /opt/config/portal_ip_addr.txt + echo "__robot_ip_addr__" > /opt/config/robot_ip_addr.txt + echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt + echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt + echo "__vid_ip_addr__" > /opt/config/vid_ip_addr.txt + + # Download and run install script + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dns_install.sh -o /opt/dns_install.sh + cd /opt + chmod +x dns_install.sh + ./dns_install.sh # A&AI instantiation @@ -358,7 +386,7 @@ resources: properties: network: { get_resource: oam_ecomp } fixed_ips: [{"subnet": { get_resource: oam_ecomp_subnet }, "ip_address": { get_param: aai_ip_addr }}] - + aai_floating_ip: type: OS::Neutron::FloatingIP properties: @@ -367,7 +395,6 @@ resources: aai_vm: type: OS::Nova::Server - depends_on: sdc_vm properties: image: { get_param: ubuntu_1404_image } flavor: { get_param: flavor_xlarge } @@ -390,58 +417,30 @@ resources: __dmaap_topic__: { get_param: dmaap_topic } __artifacts_version__: { get_param: artifacts_version } __dns_ip_addr__: { get_param: dns_ip_addr } + __sdc_ip_addr__: { get_param: sdc_ip_addr } __docker_version__: { get_param: docker_version } + __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash - hn=`hostname` - echo 127.0.0.1 $hn >> /etc/hosts - # Create configuration files mkdir -p /opt/config + echo "__nexus_repo__" > /opt/config/nexus_repo.txt echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt echo "__nexus_username__" > /opt/config/nexus_username.txt echo "__nexus_password__" > /opt/config/nexus_password.txt + echo "__artifacts_version__" > /opt/config/artifacts_version.txt + echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt + echo "__sdc_ip_addr__" > /opt/config/sdc_ip_addr.txt echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt echo "__docker_version__" > /opt/config/docker_version.txt - - # 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__/docker_key.txt -o /opt/config/docker_key.txt - 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 - DOCKER_KEY=$(cat /opt/config/docker_key.txt) - apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $DOCKER_KEY - 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 --allow-unauthenticated docker-engine - service docker start - - mkdir /opt/openecomp - mkdir /opt/openecomp/aai - mkdir /opt/openecomp/aai/logs - mkdir /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 - - # DNS/GW IP address configuration - echo "nameserver __dns_ip_addr__" >> /etc/resolvconf/resolv.conf.d/head - resolvconf -u - - # Reboot the VM to pick up configuration changes - reboot + echo "__cloud_env__" > /opt/config/cloud_env.txt + + # Download and run install script + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/aai_install.sh -o /opt/aai_install.sh + cd /opt + chmod +x aai_install.sh + ./aai_install.sh # MSO instantiation @@ -487,70 +486,32 @@ resources: __dns_ip_addr__: { get_param: dns_ip_addr } __docker_version__: { get_param: docker_version } __gerrit_branch__: { get_param: gerrit_branch } + __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash - hn=`hostname` - echo 127.0.0.1 $hn >> /etc/hosts - # Create configuration files mkdir -p /opt/config + echo "__nexus_repo__" > /opt/config/nexus_repo.txt echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt echo "__nexus_username__" > /opt/config/nexus_username.txt echo "__nexus_password__" > /opt/config/nexus_password.txt + echo "__artifacts_version__" > /opt/config/artifacts_version.txt + echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt + echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt echo "__openstack_username__" > /opt/config/openstack_username.txt echo "__openstack_tenant_id__" > /opt/config/tenant_id.txt + echo "__openstack_api_key__" > /opt/config/openstack_api_key.txt echo "__keystone_url__" > /opt/config/keystone.txt - echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt echo "__docker_version__" > /opt/config/docker_version.txt + echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt + echo "__cloud_env__" > /opt/config/cloud_env.txt - # 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__/docker_key.txt -o /opt/config/docker_key.txt - 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 - DOCKER_KEY=$(cat /opt/config/docker_key.txt) - apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $DOCKER_KEY - 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 --allow-unauthenticated 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 - - # Clone Gerrit repository + # Download and run install script + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mso_install.sh -o /opt/mso_install.sh cd /opt - git clone -b __gerrit_branch__ --single-branch http://gerrit.onap.org/r/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 - - # Rename network interface - sed -i 's/GRUB_CMDLINE_LINUX=.*/GRUB_CMDLINE_LINUX=\"net.ifnames=0 biosdevname=0\"/g' /etc/default/grub - grub-mkconfig -o /boot/grub/grub.cfg - sed -i 's/ens3/eth0/g' /etc/network/interfaces.d/*.cfg - - # DNS/GW IP address configuration - echo "nameserver __dns_ip_addr__" >> /etc/resolvconf/resolv.conf.d/head - resolvconf -u - - # Disable cloud-init for networking on reboot - echo 'network: {config: disabled}' >> /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg - - # Reboot the VM to pick up configuration changes - reboot + chmod +x mso_install.sh + ./mso_install.sh # Message Router instantiation @@ -590,55 +551,26 @@ resources: __artifacts_version__: { get_param: artifacts_version } __dns_ip_addr__: { get_param: dns_ip_addr } __gerrit_branch__: { get_param: gerrit_branch } + __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash - hn=`hostname` - echo 127.0.0.1 $hn >> /etc/hosts - # Create configuration files mkdir -p /opt/config + echo "__nexus_repo__" > /opt/config/nexus_repo.txt echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt echo "__nexus_username__" > /opt/config/nexus_username.txt echo "__nexus_password__" > /opt/config/nexus_password.txt + echo "__artifacts_version__" > /opt/config/artifacts_version.txt + echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt + echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt + echo "__cloud_env__" > /opt/config/cloud_env.txt - # 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__/docker_key.txt -o /opt/config/docker_key.txt - 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 - DOCKER_KEY=$(cat /opt/config/docker_key.txt) - apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $DOCKER_KEY - 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 --allow-unauthenticated 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 - - # Clone Gerrit repository + # Download and run install script + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/mr_install.sh -o /opt/mr_install.sh cd /opt - git clone -b __gerrit_branch__ --single-branch http://gerrit.onap.org/r/dcae/demo/startup/message-router.git dcae-startup-vm-message-router - - # DNS/GW IP address configuration - echo "nameserver __dns_ip_addr__" >> /etc/resolvconf/resolv.conf.d/head - resolvconf -u - - # Reboot the VM to pick up configuration changes - reboot + chmod +x mr_install.sh + ./mr_install.sh # Robot Framework instantiation @@ -653,7 +585,7 @@ resources: properties: floating_network_id: { get_param: public_net_id } port_id: { get_resource: robot_private_port } - + robot_vm: type: OS::Nova::Server properties: @@ -683,12 +615,10 @@ resources: __dns_ip_addr__: { get_param: dns_ip_addr } __docker_version__: { get_param: docker_version } __gerrit_branch__: { get_param: gerrit_branch } + __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash - hn=`hostname` - echo 127.0.0.1 $hn >> /etc/hosts - # Create configuration files mkdir -p /opt/config echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt @@ -701,57 +631,15 @@ resources: echo "__openstack_region__" > /opt/config/region.txt echo "__artifacts_version__" > /opt/config/artifacts_version.txt echo "__docker_version__" > /opt/config/docker_version.txt + echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt + echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt + echo "__cloud_env__" > /opt/config/cloud_env.txt - # 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 - echo "APT::Periodic::Unattended-Upgrade \"0\";" >> /etc/apt/apt.conf.d/10periodic - - # Download scripts from Nexus - curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/docker_key.txt -o /opt/config/docker_key.txt - 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 - DOCKER_KEY=$(cat /opt/config/docker_key.txt) - apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $DOCKER_KEY - 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 --allow-unauthenticated 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 - - # Execute RobotETE-specific instructions: create share folder to run as a docker volume - mkdir -p /opt/eteshare/logs - mkdir -p /opt/eteshare/config - - # Clone Gerrit repository + # Download and run install script + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/robot_install.sh -o /opt/robot_install.sh cd /opt - git clone -b __gerrit_branch__ --single-branch http://gerrit.onap.org/r/testsuite/properties.git testsuite/properties - - # Rename network interface - sed -i 's/GRUB_CMDLINE_LINUX=.*/GRUB_CMDLINE_LINUX=\"net.ifnames=0 biosdevname=0\"/g' /etc/default/grub - grub-mkconfig -o /boot/grub/grub.cfg - sed -i 's/ens3/eth0/g' /etc/network/interfaces.d/*.cfg - - # DNS/GW IP address configuration - echo "nameserver __dns_ip_addr__" >> /etc/resolvconf/resolv.conf.d/head - resolvconf -u - - # Disable cloud-init for networking on reboot - echo 'network: {config: disabled}' >> /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg - - # Reboot the VM to pick up configuration changes - reboot + chmod +x robot_install.sh + ./robot_install.sh # VID instantiation @@ -792,58 +680,29 @@ resources: __dns_ip_addr__: { get_param: dns_ip_addr } __docker_version__: { get_param: docker_version } __gerrit_branch__: { get_param: gerrit_branch } + __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash - hn=`hostname` - echo 127.0.0.1 $hn >> /etc/hosts - # Create configuration files mkdir -p /opt/config + echo "__nexus_repo__" > /opt/config/nexus_repo.txt echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt echo "__nexus_username__" > /opt/config/nexus_username.txt echo "__nexus_password__" > /opt/config/nexus_password.txt + echo "__artifacts_version__" > /opt/config/artifacts_version.txt + echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt echo "__docker_version__" > /opt/config/docker_version.txt + echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt + echo "__cloud_env__" > /opt/config/cloud_env.txt - # 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__/docker_key.txt -o /opt/config/docker_key.txt - 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 - DOCKER_KEY=$(cat /opt/config/docker_key.txt) - apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $DOCKER_KEY - 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 --allow-unauthenticated 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 - - # Clone Gerrit repository + # Download and run install script + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/vid_install.sh -o /opt/vid_install.sh cd /opt - git clone -b __gerrit_branch__ --single-branch http://gerrit.onap.org/r/vid.git - - # DNS/GW IP address configuration - echo "nameserver __dns_ip_addr__" >> /etc/resolvconf/resolv.conf.d/head - resolvconf -u - - # Reboot the VM to pick up configuration changes - reboot - + chmod +x vid_install.sh + ./vid_install.sh + # SDN-C instantiation sdnc_private_port: type: OS::Neutron::Port @@ -882,56 +741,27 @@ resources: __dns_ip_addr__: { get_param: dns_ip_addr } __docker_version__: { get_param: docker_version } __gerrit_branch__: { get_param: gerrit_branch } + __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash - hn=`hostname` - echo 127.0.0.1 $hn >> /etc/hosts - # Create configuration files mkdir -p /opt/config + echo "__nexus_repo__" > /opt/config/nexus_repo.txt echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt echo "__nexus_username__" > /opt/config/nexus_username.txt echo "__nexus_password__" > /opt/config/nexus_password.txt + echo "__artifacts_version__" > /opt/config/artifacts_version.txt + echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt echo "__docker_version__" > /opt/config/docker_version.txt + echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt + echo "__cloud_env__" > /opt/config/cloud_env.txt - # 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__/docker_key.txt -o /opt/config/docker_key.txt - 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 - DOCKER_KEY=$(cat /opt/config/docker_key.txt) - apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $DOCKER_KEY - 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 --allow-unauthenticated 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 - - # Clone Gerrit repository + # Download and run install script + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/sdnc_install.sh -o /opt/sdnc_install.sh cd /opt - git clone -b __gerrit_branch__ --single-branch http://gerrit.onap.org/r/sdnc/oam.git sdnc - - # DNS/GW IP address configuration - echo "nameserver __dns_ip_addr__" >> /etc/resolvconf/resolv.conf.d/head - resolvconf -u - - # Reboot the VM to pick up configuration changes - reboot + chmod +x sdnc_install.sh + ./sdnc_install.sh # SDC instantiation @@ -953,13 +783,6 @@ resources: name: vol1-sdc-data size: 100 - sdc_volume_attachment: - type: OS::Cinder::VolumeAttachment - properties: - volume_id: { get_resource: sdc_volume_data } - instance_uuid: { get_resource: sdc_vm } - mountpoint: /dev/vdb - sdc_vm: type: OS::Nova::Server properties: @@ -973,6 +796,9 @@ resources: key_name: { get_resource: vm_key } networks: - port: { get_resource: sdc_private_port } + block_device_mapping: + - device_name: /dev/vdb + volume_id: {get_resource: sdc_volume_data} user_data_format: RAW user_data: str_replace: @@ -988,91 +814,30 @@ resources: __public_ip__: { get_attr: [sdc_floating_ip, floating_ip_address] } __docker_version__: { get_param: docker_version } __gerrit_branch__: { get_param: gerrit_branch } + __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash - hn=`hostname` - echo 127.0.0.1 $hn >> /etc/hosts - # 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 "__env_name__" > /opt/config/env_name.txt echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt echo "__public_ip__" > /opt/config/public_ip.txt + echo "__artifacts_version__" > /opt/config/artifacts_version.txt + echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt echo "__docker_version__" > /opt/config/docker_version.txt + echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt + echo "__cloud_env__" > /opt/config/cloud_env.txt - # 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__/docker_key.txt -o /opt/config/docker_key.txt - 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 - DOCKER_KEY=$(cat /opt/config/docker_key.txt) - apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $DOCKER_KEY - 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 --allow-unauthenticated 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 -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/asdc_ext_volume_partitions.txt -o /opt/asdc_ext_volume_partitions.txt - sfdisk /dev/vdb < /opt/asdc_ext_volume_partitions.txt - mkfs -t ext4 /dev/vdb1 - mkdir -p /data - mount /dev/vdb1 /data - echo "/dev/vdb1 /data ext4 errors=remount-ro,noatime,barrier=0 0 1" >> /etc/fstab - - # Run SDC-specific instructions + # Download and run install script + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/asdc_install.sh -o /opt/asdc_install.sh cd /opt - mkdir -p /data/environments - mkdir -p /data/scripts - mkdir -p /data/logs/BE - mkdir -p /data/logs/FE - chmod 777 /data - chmod 777 /data/logs/BE - chmod 777 /data/logs/FE - - # Clone Gerrit repository - git clone -b __gerrit_branch__ --single-branch http://gerrit.onap.org/r/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 - - # Rename network interface - sed -i 's/GRUB_CMDLINE_LINUX=.*/GRUB_CMDLINE_LINUX=\"net.ifnames=0 biosdevname=0\"/g' /etc/default/grub - grub-mkconfig -o /boot/grub/grub.cfg - sed -i 's/ens3/eth0/g' /etc/network/interfaces.d/*.cfg - - # DNS/GW IP address configuration - echo "nameserver __dns_ip_addr__" >> /etc/resolvconf/resolv.conf.d/head - resolvconf -u - - # Disable cloud-init for networking on reboot - echo 'network: {config: disabled}' >> /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg - - # Reboot the VM to pick up configuration changes - reboot + chmod +x asdc_install.sh + ./asdc_install.sh # PORTAL instantiation @@ -1114,57 +879,28 @@ resources: __public_ip__: { get_attr: [portal_floating_ip, floating_ip_address] } __docker_version__: { get_param: docker_version } __gerrit_branch__: { get_param: gerrit_branch } + __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash - hn=`hostname` - echo 127.0.0.1 $hn >> /etc/hosts - # 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 "__public_ip__" > /opt/config/public_ip.txt + echo "__artifacts_version__" > /opt/config/artifacts_version.txt + echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt echo "__docker_version__" > /opt/config/docker_version.txt + echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt + echo "__cloud_env__" > /opt/config/cloud_env.txt - # 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 unzip mysql-client-core-5.6 ntp ntpdate - - # Download scripts from Nexus - curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/docker_key.txt -o /opt/config/docker_key.txt - 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 - DOCKER_KEY=$(cat /opt/config/docker_key.txt) - apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $DOCKER_KEY - 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 --allow-unauthenticated 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 - - # Clone Gerrit repository - mkdir -p /PROJECT/OpenSource/UbuntuEP/logs + # Download and run install script + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/portal_install.sh -o /opt/portal_install.sh cd /opt - git clone -b __gerrit_branch__ --single-branch http://gerrit.onap.org/r/portal.git - - # DNS/GW IP address configuration - echo "nameserver __dns_ip_addr__" >> /etc/resolvconf/resolv.conf.d/head - resolvconf -u - - # Reboot the VM to pick up configuration changes - reboot + chmod +x portal_install.sh + ./portal_install.sh # DCAE Controller instantiation @@ -1194,7 +930,7 @@ resources: networks: - port: { get_resource: dcae_c_private_port } user_data_format: RAW - user_data: + user_data: str_replace: params: __nexus_repo__: { get_param: nexus_repo } @@ -1211,94 +947,71 @@ resources: __openstack_private_network_name__: { get_attr: [oam_ecomp, name] } __openstack_user__: { get_param: openstack_username } __openstack_password__: { get_param: openstack_api_key } + __openstack_auth_method__: { get_param: openstack_auth_method } __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 } - __horizon_url__ : { get_param: horizon_url } - __keystone_url__ : { get_param: keystone_url } + __horizon_url__: { get_param: horizon_url } + __keystone_url__: { get_param: keystone_url } __docker_version__: { get_param: docker_version } __gerrit_branch__: { get_param: gerrit_branch } + __dcae_code_version__: { get_param: dcae_code_version } + __cloud_env__: { get_param: cloud_env } + __public_net_id__: { get_param: public_net_id } + __dcae_base_environment__: { get_param: dcae_base_environment } + __dcae_ip_addr__: { get_param: dcae_ip_addr } + __dcae_coll_ip_addr__: { get_param: dcae_coll_ip_addr } + __dcae_db_ip_addr__: { get_param: dcae_db_ip_addr } + __dcae_hdp1_ip_addr__: { get_param: dcae_hdp1_ip_addr } + __dcae_hdp2_ip_addr__: { get_param: dcae_hdp2_ip_addr } + __dcae_hdp3_ip_addr__: { get_param: dcae_hdp3_ip_addr } template: | #!/bin/bash - hn=`hostname` - echo 127.0.0.1 $hn >> /etc/hosts - # 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 "__nexus_url_snapshots__" > /opt/config/nexus_url_snapshots.txt echo "__gitlab_branch__" > /opt/config/gitlab_branch.txt echo "__docker_version__" > /opt/config/docker_version.txt - - # 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__/docker_key.txt -o /opt/config/docker_key.txt - 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 - DOCKER_KEY=$(cat /opt/config/docker_key.txt) - apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $DOCKER_KEY - 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 --allow-unauthenticated 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 - - # Clone Gerrit repository + 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 "__dcae_state__" > /opt/config/dcae_state.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 "__openstack_auth_method__" > /opt/config/openstack_auth_method.txt + echo "__key_name__" > /opt/config/key_name.txt + echo "__rand_str__" > /opt/config/rand_str.txt + echo "__pub_key__" > /opt/config/pub_key.txt + echo "__nexus_repo_root__" > /opt/config/nexus_repo_root.txt + echo "__openstack_region__" > /opt/config/openstack_region.txt + echo "__horizon_url__" > /opt/config/horizon_url.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_base_environment__" > /opt/config/dcae_base_environment.txt + echo "__dcae_code_version__" > /opt/config/dcae_code_version.txt + echo "__dcae_ip_addr__" > /opt/config/dcae_ip_addr.txt + echo "__dcae_coll_ip_addr__" > /opt/config/dcae_coll_ip_addr.txt + echo "__dcae_db_ip_addr__" > /opt/config/dcae_db_ip_addr.txt + echo "__dcae_hdp1_ip_addr__" > /opt/config/dcae_hdp1_ip_addr.txt + echo "__dcae_hdp2_ip_addr__" > /opt/config/dcae_hdp2_ip_addr.txt + echo "__dcae_hdp3_ip_addr__" > /opt/config/dcae_hdp3_ip_addr.txt + + # Download and run install script + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/dcae_install.sh -o /opt/dcae_install.sh cd /opt - git clone -b __gerrit_branch__ --single-branch http://gerrit.onap.org/r/dcae/demo/startup/controller.git dcae-startup-vm-controller - - # DCAE Controller specific deployment - cd /opt/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: __artifacts_version__ - HORIZON-URL: __horizon_url__/__openstack_user__ - KEYSTONE-URL: __keystone_url__ - 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: http://gerrit.onap.org/r/dcae/demo/startup/message-router.git - EOF_CONFIG - - # DNS/GW IP address configuration - echo "nameserver __dns_ip_addr__" >> /etc/resolvconf/resolv.conf.d/head - resolvconf -u - - # Reboot the VM to pick up configuration changes - reboot + chmod +x dcae_install.sh + ./dcae_install.sh # Policy Engine instantiation @@ -1340,56 +1053,28 @@ resources: __public_ip__: { get_attr: [policy_floating_ip, floating_ip_address] } __docker_version__: { get_param: docker_version } __gerrit_branch__: { get_param: gerrit_branch } + __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash - hn=`hostname` - echo 127.0.0.1 $hn >> /etc/hosts - # Create configuration files mkdir -p /opt/config + echo "__nexus_repo__" > /opt/config/nexus_repo.txt echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt echo "__nexus_username__" > /opt/config/nexus_username.txt echo "__nexus_password__" > /opt/config/nexus_password.txt + echo "__artifacts_version__" > /opt/config/artifacts_version.txt + echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt echo "__public_ip__" > /opt/config/public_ip.txt echo "__docker_version__" > /opt/config/docker_version.txt + echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt + echo "__cloud_env__" > /opt/config/cloud_env.txt - # 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__/docker_key.txt -o /opt/config/docker_key.txt - 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 - DOCKER_KEY=$(cat /opt/config/docker_key.txt) - apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $DOCKER_KEY - 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 --allow-unauthenticated 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 - - # Clone Gerrit repository + # Download and run install script + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/policy_install.sh -o /opt/policy_install.sh cd /opt - git clone -b __gerrit_branch__ --single-branch http://gerrit.onap.org/r/policy/docker.git policy - - # DNS/GW IP address configuration - echo "nameserver __dns_ip_addr__" >> /etc/resolvconf/resolv.conf.d/head - resolvconf -u - - # Reboot the VM to pick up configuration changes - reboot + chmod +x policy_install.sh + ./policy_install.sh # APP-C instantiation @@ -1431,54 +1116,25 @@ resources: __dns_ip_addr__: { get_param: dns_ip_addr } __docker_version__: { get_param: docker_version } __gerrit_branch__: { get_param: gerrit_branch } + __cloud_env__: { get_param: cloud_env } template: | #!/bin/bash - hn=`hostname` - echo 127.0.0.1 $hn >> /etc/hosts - # Create configuration files mkdir -p /opt/config + echo "__nexus_repo__" > /opt/config/nexus_repo.txt echo "__nexus_docker_repo__" > /opt/config/nexus_docker_repo.txt echo "__nexus_username__" > /opt/config/nexus_username.txt echo "__nexus_password__" > /opt/config/nexus_password.txt + echo "__artifacts_version__" > /opt/config/artifacts_version.txt + echo "__dns_ip_addr__" > /opt/config/dns_ip_addr.txt echo "__dmaap_topic__" > /opt/config/dmaap_topic.txt echo "__docker_version__" > /opt/config/docker_version.txt + echo "__gerrit_branch__" > /opt/config/gerrit_branch.txt + echo "__cloud_env__" > /opt/config/cloud_env.txt - # 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 git ntp ntpdate - - # Download scripts from Nexus - curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/docker_key.txt -o /opt/config/docker_key.txt - 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 - DOCKER_KEY=$(cat /opt/config/docker_key.txt) - apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys $DOCKER_KEY - 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 --allow-unauthenticated 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 - - # Clone Gerrit repository + # Download and run install script + curl -k __nexus_repo__/org.openecomp.demo/boot/__artifacts_version__/appc_install.sh -o /opt/appc_install.sh cd /opt - git clone -b __gerrit_branch__ --single-branch http://gerrit.onap.org/r/appc/deployment.git appc - - # DNS/GW IP address configuration - echo "nameserver __dns_ip_addr__" >> /etc/resolvconf/resolv.conf.d/head - resolvconf -u - - # Reboot the VM to pick up configuration changes - reboot
\ No newline at end of file + chmod +x appc_install.sh + ./appc_install.sh
\ No newline at end of file |