Improve the way to deploy onap via proxy
[demo.git] / boot / dns_install.sh
1 #!/bin/bash
2
3 # Read configuration files
4 ARTIFACTS_VERSION=$(cat /opt/config/artifacts_version.txt)
5 CLOUD_ENV=$(cat /opt/config/cloud_env.txt)
6 HTTP_PROXY=$(cat /opt/config/http_proxy.txt)
7 HTTPS_PROXY=$(cat /opt/config/https_proxy.txt)
8
9 if [ $HTTP_PROXY != "no_proxy" ]
10 then
11     export http_proxy=$HTTP_PROXY
12     export https_proxy=$HTTPS_PROXY
13 fi
14
15
16 if [[ $CLOUD_ENV != "rackspace" ]]
17 then
18         # Add host name to /etc/host to avoid warnings in openstack images
19         echo 127.0.0.1 $(hostname) >> /etc/hosts
20
21         # Allow remote login as root
22         mv /root/.ssh/authorized_keys /root/.ssh/authorized_keys.bk
23         cp /home/ubuntu/.ssh/authorized_keys /root/.ssh
24
25         # Set the Bind configuration file name based on the deployment environment
26         ZONE_FILE="bind_zones"
27         ZONE_ONAP="bind_zones_onap"
28         OPTIONS_FILE="bind_options"
29 else
30         ZONE_FILE="db_simpledemo_openecomp_org"
31         ZONE_ONAP="db_simpledemo_onap_org"
32         OPTIONS_FILE="named.conf.options"
33 fi
34
35 # Set private IP in /etc/network/interfaces manually in the presence of public interface
36 # Some VM images don't add the private interface automatically, we have to do it during the component installation
37 if [[ $CLOUD_ENV == "openstack_nofloat" ]]
38 then
39         LOCAL_IP=$(cat /opt/config/dns_ip_addr.txt)
40         CIDR=$(cat /opt/config/oam_network_cidr.txt)
41         BITMASK=$(echo $CIDR | cut -d"/" -f2)
42
43         # Compute the netmask based on the network cidr
44         if [[ $BITMASK == "8" ]]
45         then
46                 NETMASK=255.0.0.0
47         elif [[ $BITMASK == "16" ]]
48         then
49                 NETMASK=255.255.0.0
50         elif [[ $BITMASK == "24" ]]
51         then
52                 NETMASK=255.255.255.0
53         fi
54
55         echo "auto eth1" >> /etc/network/interfaces
56         echo "iface eth1 inet static" >> /etc/network/interfaces
57         echo "    address $LOCAL_IP" >> /etc/network/interfaces
58         echo "    netmask $NETMASK" >> /etc/network/interfaces
59         ifup eth1
60 fi
61
62 # Download dependencies
63 echo "deb http://ppa.launchpad.net/openjdk-r/ppa/ubuntu $(lsb_release -c -s) main" >>  /etc/apt/sources.list.d/java.list
64 echo "deb-src http://ppa.launchpad.net/openjdk-r/ppa/ubuntu $(lsb_release -c -s) main" >>  /etc/apt/sources.list.d/java.list
65 apt-get update
66 apt-get install --allow-unauthenticated -y apt-transport-https ca-certificates wget openjdk-8-jdk bind9 bind9utils bind9-doc ntp ntpdate make
67
68 # Download script
69 mkdir /etc/bind/zones
70 unzip -p -j /opt/boot-$ARTIFACTS_VERSION.zip $ZONE_FILE > /etc/bind/zones/db.simpledemo.openecomp.org
71 unzip -p -j /opt/boot-$ARTIFACTS_VERSION.zip $ZONE_ONAP > /etc/bind/zones/db.simpledemo.onap.org
72 unzip -p -j /opt/boot-$ARTIFACTS_VERSION.zip $OPTIONS_FILE > /etc/bind/named.conf.options
73 unzip -p -j /opt/boot-$ARTIFACTS_VERSION.zip named.conf.local > /etc/bind/named.conf.local
74
75
76
77 # Set the private IP address of each ONAP VM in the Bind configuration in OpenStack deployments
78 if [[ $CLOUD_ENV != "rackspace" ]]
79 then
80         sed -i "s/dns_forwarder/"$(cat /opt/config/dns_forwarder.txt)"/g" /etc/bind/named.conf.options
81         sed -i "s/dns_ip_addr/"$(cat /opt/config/dns_ip_addr.txt)"/g" /etc/bind/named.conf.options
82         sed -i "s/external_dns/"$(cat /opt/config/external_dns.txt)"/g" /etc/bind/named.conf.options
83         sed -i "s/aai1_ip_addr/"$(cat /opt/config/aai1_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
84         sed -i "s/aai2_ip_addr/"$(cat /opt/config/aai2_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
85         sed -i "s/appc_ip_addr/"$(cat /opt/config/appc_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
86         sed -i "s/dcae_ip_addr/"$(cat /opt/config/dcae_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
87         sed -i "s/dns_ip_addr/"$(cat /opt/config/dns_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
88         sed -i "s/so_ip_addr/"$(cat /opt/config/so_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
89         sed -i "s/mr_ip_addr/"$(cat /opt/config/mr_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
90         sed -i "s/policy_ip_addr/"$(cat /opt/config/policy_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
91         sed -i "s/portal_ip_addr/"$(cat /opt/config/portal_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
92         sed -i "s/robot_ip_addr/"$(cat /opt/config/robot_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
93         sed -i "s/sdc_ip_addr/"$(cat /opt/config/sdc_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
94         sed -i "s/sdnc_ip_addr/"$(cat /opt/config/sdnc_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
95         sed -i "s/vid_ip_addr/"$(cat /opt/config/vid_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
96         sed -i "s/clamp_ip_addr/"$(cat /opt/config/clamp_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
97         sed -i "s/openo_ip_addr/"$(cat /opt/config/openo_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
98         sed -i "s/music_ip_addr/"$(cat /opt/config/music_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
99         sed -i "s/oof_ip_addr/"$(cat /opt/config/oof_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
100         sed -i "s/aaf_ip_addr/"$(cat /opt/config/aaf_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
101         sed -i "s/sms_ip_addr/"$(cat /opt/config/sms_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
102         sed -i "s/nbi_ip_addr/"$(cat /opt/config/nbi_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.openecomp.org
103
104         sed -i "s/aai1_ip_addr/"$(cat /opt/config/aai1_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
105         sed -i "s/aai2_ip_addr/"$(cat /opt/config/aai2_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
106         sed -i "s/appc_ip_addr/"$(cat /opt/config/appc_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
107         sed -i "s/dcae_ip_addr/"$(cat /opt/config/dcae_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
108         sed -i "s/dns_ip_addr/"$(cat /opt/config/dns_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
109         sed -i "s/so_ip_addr/"$(cat /opt/config/so_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
110         sed -i "s/mr_ip_addr/"$(cat /opt/config/mr_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
111         sed -i "s/policy_ip_addr/"$(cat /opt/config/policy_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
112         sed -i "s/portal_ip_addr/"$(cat /opt/config/portal_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
113         sed -i "s/robot_ip_addr/"$(cat /opt/config/robot_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
114         sed -i "s/sdc_ip_addr/"$(cat /opt/config/sdc_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
115         sed -i "s/sdnc_ip_addr/"$(cat /opt/config/sdnc_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
116         sed -i "s/vid_ip_addr/"$(cat /opt/config/vid_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
117         sed -i "s/clamp_ip_addr/"$(cat /opt/config/clamp_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
118         sed -i "s/openo_ip_addr/"$(cat /opt/config/openo_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
119         sed -i "s/music_ip_addr/"$(cat /opt/config/music_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
120         sed -i "s/oof_ip_addr/"$(cat /opt/config/oof_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
121         sed -i "s/aaf_ip_addr/"$(cat /opt/config/aaf_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
122         sed -i "s/sms_ip_addr/"$(cat /opt/config/sms_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
123         sed -i "s/nbi_ip_addr/"$(cat /opt/config/nbi_ip_addr.txt)"/g" /etc/bind/zones/db.simpledemo.onap.org
124 fi
125
126 # Configure Bind
127 modprobe ip_gre
128 sed -i "s/OPTIONS=.*/OPTIONS=\"-4 -u bind\"/g" /etc/default/bind9
129 service bind9 restart
130