/
basic-install_controller-common.xml
234 lines (233 loc) · 11.9 KB
/
basic-install_controller-common.xml
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
<?xml version="1.0" encoding="UTF-8"?>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="basic-install_controller-common">
<title>Common services</title>
<section xml:id="controller-os">
<title>Operating System</title>
<orderedlist>
<listitem>
<para>Install <phrase os="rhel;centos;fedora">Fedora 18</phrase>
<phrase os="ubuntu">Ubuntu</phrase> with these parameters :<itemizedlist>
<listitem>
<para>Time zone : <emphasis role="bold">UTC</emphasis></para>
</listitem>
<listitem>
<para>Hostname : <emphasis role="bold">controller</emphasis></para>
</listitem>
<listitem>
<para>Packages : <emphasis role="bold">OpenSSH-Server</emphasis>, <emphasis role="bold">wget</emphasis></para>
</listitem>
</itemizedlist></para>
<para>After OS Installation, reboot the server.</para>
</listitem>
<listitem>
<para os="ubuntu">Since the default OpenStack release in Ubuntu 12.04 LTS is older,
we are going to use the Ubuntu Cloud Archive for Grizzly
:<screen><prompt>$</prompt> <userinput>apt-get install ubuntu-cloud-keyring</userinput></screen>Edit
<emphasis role="bold">/etc/apt/sources.list.d/cloud-archive.list</emphasis>
:<screen><prompt>$</prompt> <userinput>sudo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/grizzly main </userinput></screen>Upgrade
the system (and reboot if you need)
:<screen><prompt>$</prompt> <userinput>sudo apt-get update && apt-get upgrade</userinput></screen></para>
<para os="rhel;centos;fedora">Use the Fedora repositories for Grizzly
:<screen><prompt>#</prompt> <userinput>wget http://rdo.fedorapeople.org/openstack/openstack-grizzly/fedora-openstack-grizzly.repo
</userinput></screen><screen><prompt>#</prompt> <userinput>mv fedora-openstack-grizzly.repo /etc/yum.repos.d/</userinput></screen></para>
</listitem>
<listitem>
<para>Configure the network :</para>
<para os="ubuntu">
<itemizedlist>
<listitem>
<para>Edit <emphasis role="bold">/etc/network/interfaces</emphasis> file
:</para>
</listitem>
</itemizedlist>
<screen><userinput># Management Network
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
# API + Public Network
auto eth1
iface eth1 inet static
address 7.7.7.7
netmask 255.255.255.0
gateway 7.7.7.1
dns-nameservers 8.8.8.8</userinput></screen>
</para>
<para os="ubuntu">
<itemizedlist>
<listitem>
<para>Edit <emphasis role="bold">/etc/sysctl.conf </emphasis>:</para>
</listitem>
</itemizedlist><programlisting>net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0 </programlisting>
Then, restart network service :
<screen><userinput>service networking restart</userinput></screen>
</para>
<para os="rhel;centos;fedora">
<itemizedlist>
<listitem>
<para>Set up old ethernet nic device names:</para>
<para><screen><prompt>#</prompt> <userinput>sed -i 's/# GOTO="netdevicename_end"/GOTO="netdevicename_end"/g' /lib/udev/rules.d/71-biosdevname.rules</userinput></screen></para>
<para>Disable NetworkManager and enable the network service
<screen>service NetworkManager stop
service network start
chkconfig NetworkManager off
chkconfig network on</screen></para>
<para>Edit the <emphasis role="bold"
>/etc/sysconfig/network-scripts/ifcfg-eth0</emphasis> file:</para>
</listitem>
</itemizedlist>
<screen><userinput># Management Network
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
DEFROUTE=yes
ONBOOT=yes
</userinput></screen>
<itemizedlist>
<listitem>
<para>Edit the <emphasis role="bold"
>/etc/sysconf/network-scripts/ifcfg-eth1</emphasis> file
:</para>
</listitem>
</itemizedlist>
<screen><userinput># API + Public Network
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=static
IPADDR=7.7.7.7
NETMASK=255.255.255.0
GATEWAY=7.7.7.1
DNS=8.8.8.8
DEFROUTE=yes
ONBOOT=yes
</userinput></screen>
</para>
<para os="rhel;centos;fedora">
Reboot
</para>
<para>
<itemizedlist>
<listitem>
<para>Edit the <emphasis role="bold">/etc/hosts</emphasis> file and add
<emphasis role="bold">controller</emphasis>, <emphasis
role="bold">networknode</emphasis> and <emphasis role="bold"
>compute1</emphasis> hostnames with correct IP.</para>
</listitem>
</itemizedlist>
<programlisting>127.0.0.1 localhost
127.0.1.1 controller
192.168.0.1 controller
192.168.0.2 network
192.168.0.3 compute</programlisting>
</para>
</listitem>
<listitem>
<para>Install Configure NTP :<itemizedlist>
<listitem>
<para>Install the package: <screen os="ubuntu;deb"><userinput>apt-get install -y ntp</userinput></screen><screen os="rhel;fedora;centos"><userinput>yum install -y ntp</userinput></screen></para>
</listitem>
<listitem>
<para>Configure <emphasis role="bold">/etc/ntp.conf</emphasis> file:<screen os="ubuntu"><userinput>server ntp.ubuntu.com iburst
server 127.127.1.0
fudge 127.127.1.0 stratum 10</userinput></screen>
<screen os="rhel;fedora;centos"><userinput>server 0.fedora.pool.ntp.org iburst
server 127.127.1.0
fudge 127.127.1.0 stratum 10</userinput></screen>
</para>
</listitem>
<listitem>
<para>Restart the service:
<screen os="ubuntu;deb"><prompt>$</prompt> <userinput>sudo service ntp restart</userinput></screen>
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>systemctl restart ntpd.service</userinput></screen></para>
</listitem>
</itemizedlist></para>
</listitem>
</orderedlist>
</section>
<section xml:id="controller-mysql">
<info>
<title>MySQL Database Service</title>
</info>
<para>
<orderedlist>
<listitem>
<para>Install the packages
:<screen os="ubuntu;deb"><prompt>$</prompt> <userinput>sudo apt-get install python-mysqldb mysql-server</userinput></screen><screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>yum install mysql mysql-server MySQL-python</userinput></screen></para>
</listitem>
<listitem>
<para>Allow connection from the network:
<screen os="ubuntu"><userinput>sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf</userinput></screen>
<screen os="rhel;fedora;centos"><userinput>sed -i 's/127.0.0.1/0.0.0.0/g' /etc/my.cnf</userinput></screen></para>
</listitem>
<listitem>
<para>Restart the service:
<screen os="ubuntu;deb"><prompt>$</prompt> <userinput>sudo service mysql restart</userinput></screen>
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>systemctl start mysqld.service</userinput></screen>
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>chkconfig mysqld on</userinput></screen></para>
</listitem>
<listitem>
<para>Create Databases, Users, Rights:
<screen><userinput>mysql -u root -password <<EOF
CREATE DATABASE nova;
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'192.168.0.1' \
IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'192.168.0.2' \
IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'192.168.0.3' \
IDENTIFIED BY 'password';
CREATE DATABASE cinder;
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
IDENTIFIED BY 'password';
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY 'password';
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'password';
CREATE DATABASE quantum;
GRANT ALL PRIVILEGES ON quantum.* TO 'quantum'@'localhost' \
IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON quantum.* TO 'quantum'@'192.168.0.2' \
IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON quantum.* TO 'quantum'@'192.168.0.3' \
IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EOF</userinput></screen></para>
</listitem>
</orderedlist>
</para>
</section>
<section xml:id="controller-rabbitmq">
<title> <phrase os="rhel;centos;fedora">Qpid</phrase>
<phrase os="ubuntu">RabbitMQ</phrase>Messaging Service</title>
<para>
<orderedlist>
<listitem>
<para>Install the packages:
<screen os="ubuntu;deb"><prompt>$</prompt> <userinput>apt-get install rabbitmq-server</userinput></screen><screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>yum install qpid-cpp-server</userinput></screen></para>
</listitem>
<listitem>
<para os="ubuntu;deb">Change the default password :</para><para os="rhel;fedora;centos">Enable authentication:</para>
<screen os="ubuntu;deb"><userinput># echo auth=1 >> /etc/qpid.conf</userinput></screen>
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>echo auth=1 >> /etc/qpidd.conf</userinput></screen>
</listitem>
<listitem>
<para>Enable the messaging service:</para>
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>chkconfig qpidd on</userinput></screen>
</listitem>
<listitem>
<para>Start the messaging service:</para>
<screen os="rhel;fedoracentos"><prompt>#</prompt> <userinput>service qpidd start</userinput></screen>
</listitem>
</orderedlist>
</para>
</section>
</section>