Add dns list for demo vagrant
[demo.git] / vagrant / create_onap.sh
1 #!/usr/bin/env bash
2 set -ex
3
4 source /vagrant/openrc
5 cp /demo/heat/OpenECOMP/* .
6
7 # Parameters used across all ONAP components
8 pub_net=$(openstack network list -f value|grep public | cut -f1 -d' ')
9 sed -i "s/public_net_id:.*/public_net_id: $pub_net/" onap_openstack.env
10 sed -i "s/ubuntu_1404_image:.*/ubuntu_1404_image: ubuntu1404/" onap_openstack.env
11 sed -i "s/ubuntu_1604_image:.*/ubuntu_1604_image: ubuntu1604/" onap_openstack.env
12 sed -i "s/flavor_small:.*/flavor_small: m1.small/" onap_openstack.env
13 sed -i "s/flavor_medium:.*/flavor_medium: m1.medium/" onap_openstack.env
14 sed -i "s/flavor_large:.*/flavor_large: m1.large/" onap_openstack.env
15 sed -i "s/flavor_xlarge:.*/flavor_xlarge: m1.xlarge/" onap_openstack.env
16 rm -rf onap onap.pub
17 ssh-keygen  -t rsa -N ''  -f onap
18 cp onap onap.pub /vagrant
19 pub_key=$(cat onap.pub)
20 sed -i "s,pub_key:.*,pub_key: $pub_key," onap_openstack.env
21 tenant=$(openstack project list -f value | grep " admin" | cut -f1 -d' ')
22 sed -i  "s/openstack_tenant_id:.*/openstack_tenant_id: $tenant/" onap_openstack.env
23 sed -i  "s/openstack_username:.*/openstack_username: admin/" onap_openstack.env
24 sed -i  "s/openstack_api_key:.*/openstack_api_key: apikey/" onap_openstack.env
25 sed -i  "s,horizon_url:.*,horizon_url: http://192.168.0.10/dashboard," onap_openstack.env
26 sed -i  "s,keystone_url:.*,keystone_url: http://192.168.0.10/identity/,"  onap_openstack.env
27
28 # Network parameters
29 sed -i  "s/dns_list:.*/dns_list: 8.8.8.8/" onap_openstack.env
30 sed -i  "s/external_dns:.*/external_dns: 8.8.8.8/" onap_openstack.env
31
32 openstack stack create -t onap_openstack.yaml -e onap_openstack.env ONAP
33
34 sleep 180
35 vms=$(grep "_vm:" onap_openstack.yaml | cut -f1 -d"_")
36 sudo rm -rf /vagrant/hosts
37 for vm in $vms
38 do
39     ip=$(openstack server list --name $vm -f yaml | grep Networks | cut -f2 -d",")
40     echo "$ip $vm.api.simpledemo.openecomp.org" >> /vagrant/hosts
41 done