-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path5-icehouse-aio-install-nova.sh
137 lines (114 loc) · 3.64 KB
/
5-icehouse-aio-install-nova.sh
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#!/bin/bash -ex
source config.cfg
echo "########## CAI DAT NOVA TREN CONTROLLER ################"
apt-get install -y nova-api nova-cert nova-conductor nova-consoleauth \
nova-novncproxy nova-scheduler python-novaclient \
nova-compute-kvm python-guestfs
echo "########## SAO LUU CAU HINH cho NOVA ##################"
controlnova=/etc/nova/nova.conf
test -f $controlnova.orig || cp $controlnova $controlnova.orig
rm $controlnova
cat << EOF > $controlnova
[DEFAULT]
dhcpbridge_flagfile=/etc/nova/nova.conf
dhcpbridge=/usr/bin/nova-dhcpbridge
logdir=/var/log/nova
state_path=/var/lib/nova
lock_path=/var/lock/nova
force_dhcp_release=True
iscsi_helper=tgtadm
libvirt_use_virtio_for_bridges=True
connection_type=libvirt
root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf
verbose=True
ec2_private_dns_show_ip=True
api_paste_config=/etc/nova/api-paste.ini
volumes_path = /var/lib/nova/volumes
enabled_apis = ec2,osapi_compute,metadata
# Khai bao cho GLANCE
glance_host = $MASTER
# Khai bao cho RABBITMQ
rpc_backend = rabbit
rabbit_host = $MASTER
rabbit_userid = guest
rabbit_password = $RABBIT_PASS
# Cau hinh cho VNC
my_ip = $MASTER
vncserver_listen = $MASTER
vncserver_proxyclient_address = $MASTER
auth_strategy = keystone
novncproxy_base_url = http://$MASTER:6080/vnc_auto.html
# Tu dong Start VM khi reboot OpenStack
resume_guests_state_on_host_boot=True
#Cho phep dat password cho Instance khi khoi tao
libvirt_inject_password = True
enable_instance_password = True
libvirt_inject_partition = -1
network_api_class = nova.network.neutronv2.api.API
neutron_url = http://$MASTER:9696
neutron_auth_strategy = keystone
neutron_admin_tenant_name = service
neutron_admin_username = neutron
neutron_admin_password = $ADMIN_PASS
neutron_admin_auth_url = http://$MASTER:35357/v2.0
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
security_group_api = neutron
service_neutron_metadata_proxy = true
neutron_metadata_proxy_shared_secret = $METADATA_SECRET
[database]
connection = mysql://nova:$MYSQL_PASS@$MASTER/nova
[keystone_authtoken]
auth_uri = http://$MASTER:5000
auth_host = $MASTER
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = nova
admin_password = $ADMIN_PASS
EOF
chown nova:nova $controlnova
echo "########## XOA FILE DB MAC DINH ##########"
sleep 7
rm /var/lib/nova/nova.sqlite
echo "########## DONG BO DB CHO NOVA ##########"
sleep 7
nova-manage db sync
echo " "
echo "########## FIX LOI CHO NOVA ##########"
sleep 5
dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-$(uname -r)
cat > /etc/kernel/postinst.d/statoverride <<EOF
#!/bin/sh
version="\$1"
# passing the kernel version is required
[ -z "\${version}" ] && exit 0
dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-\${version}
EOF
chmod +x /etc/kernel/postinst.d/statoverride
# fix loi libvirtError: internal error: no supported architecture for os type 'hvm'
echo 'kvm_intel' >> /etc/modules
sleep 10
echo "########## KHOI DONG LAI NOVA ##########"
service nova-conductor restart
service nova-api restart
service nova-cert restart
service nova-consoleauth restart
service nova-scheduler restart
service nova-novncproxy restart
service nova-compute restart
sleep 10
echo "########## KHOI DONG NOVA LAN 2 ##########"
service nova-conductor restart
service nova-api restart
service nova-cert restart
service nova-consoleauth restart
service nova-scheduler restart
service nova-novncproxy restart
service nova-compute restart
echo "########## KIEM TRA LAI DICH VU NOVA ##########"
sleep 10
nova-manage service list
sleep 3
nova-manage service list
echo "########## KET THUC CAI DAT NOVA ##########"