/
postinst
executable file
·98 lines (82 loc) · 3.41 KB
/
postinst
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!/bin/bash
set -e
echo "running post install"
HOST_IP_LIST=`ifconfig | sed -n -e 's/:127\.0\.0\.1 //g' -e 's/:172\.17\.0\.1//g' -e 's/ *inet addr:\([0-9.]\+\).*/\1/gp'`
HOST_IP=`echo $HOST_IP_LIST | cut -d' ' -f1`
if [ -f /opt/contrail/contrail_server_manager/IP.txt ];
then
HOST_IP=$(cat /opt/contrail/contrail_server_manager/IP.txt)
fi
echo $HOST_IP
rel=`lsb_release -r`
cp -r /etc/contrail_smgr/puppet /etc/
cp /etc/contrail_smgr/smgr.conf /etc/apache2/sites-available/
cp -r /etc/contrail_smgr/kickstarts /var/www/html/
# Saving and replacing default NTP configuration (Server Manager node acts as NTP Server for Cluster)
cp /etc/contrail_smgr/sendmail.cf.sample /etc/mail/sendmail.cf
mv /etc/ntp.conf /etc/ntp.conf.default
cp /etc/contrail_smgr/ntp.conf.sample /etc/ntp.conf
chown -R puppet:puppet /var/log/contrail-server-manager/provision
# Copying the specific puppet conf files needed for provisioning:
cp /etc/contrail_smgr/puppet/auth.conf /etc/puppet/
cp /etc/contrail_smgr/puppet/autosign.conf /etc/puppet/
cp /etc/contrail_smgr/puppet/fileserver.conf /etc/puppet/
cp /etc/contrail_smgr/puppet/hiera.yaml /etc/puppet/
cp /etc/contrail_smgr/puppet/puppet.conf /etc/puppet/
cp -r /etc/contrail_smgr/puppet/environments /etc/puppet/
if [[ "$rel" == *"14.04"* ]]; then
echo "Not seding files for 14.04"
else
a2enmod version
sed -i ':a;N;$!ba;s:DocumentRoot /var/www\n:DocumentRoot /var/www/html\n:g' /etc/apache2/sites-available/default
sed -i 's:<Directory /var/www/>:<Directory /var/www/html/>:g' /etc/apache2/sites-available/default
fi
update-rc.d contrail-server-manager defaults
#/sbin/chkconfig --add contrail-server-manager
# Set IP address in server manager configuration file.
sed -i "s/__\$IPADDRESS__/$HOST_IP/g" /opt/contrail/server_manager/sm-config.ini
sed -i "s/127.0.0.1/$HOST_IP/g" /opt/contrail/server_manager/sm-config.ini
# Set IP Address in smgr_dhcp_event.py DHCP hook.
sed -i "s/__\$IPADDRESS__/$HOST_IP/g" /opt/contrail/server_manager/smgr_dhcp_event.py
# Setting SM Lite config - No cobbler, no monitoring
set +e
sed -i "s/listen_ip_addr = .*/listen_ip_addr = $HOST_IP/g" /opt/contrail/server_manager/sm-config.ini
grep "cobbler * = " /opt/contrail/server_manager/sm-config.ini
if [ $? == 0 ]; then
sed -i "s/cobbler * = .*/cobbler = false/g" /opt/contrail/server_manager/sm-config.ini
else
sed -i "/listen_port*/acobbler = false" /opt/contrail/server_manager/sm-config.ini
fi
grep "monitoring * = " /opt/contrail/server_manager/sm-config.ini
if [ $? == 0 ]; then
sed -i "s/monitoring * = .*/monitoring = false/g" /opt/contrail/server_manager/sm-config.ini
else
sed -i "/listen_port*/amonitoring = false" /opt/contrail/server_manager/sm-config.ini
fi
# Adding server and Public DNS to /etc/resolv.conf if not present
grep "nameserver $HOST_IP" /etc/resolv.conf
if [ $? != 0 ]; then
echo "nameserver $HOST_IP" >> /etc/resolv.conf
fi
grep "nameserver 8.8.8.8" /etc/resolv.conf
if [ $? != 0 ]; then
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
fi
set -e
set +e
POSTFIX_CHECK=$(dpkg -l | grep postfix)
if [ "$INSTALLED" != "" ]; then
service postfix stop
fi
set -e
service sendmail restart
pushd /var/www/html/thirdparty_packages
dpkg-scanpackages . | gzip -9c > Packages.gz
popd
update-rc.d apache2 defaults
update-rc.d xinetd defaults
a2ensite smgr.conf
a2dismod mpm_event
a2enmod mpm_worker
service apache2 restart
service xinetd restart