-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstalling-openstack-icehouse-lab.html
459 lines (420 loc) · 21.8 KB
/
installing-openstack-icehouse-lab.html
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
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">
<head>
<title>Installing OpenStack Icehouse Lab - Celttechie</title>
<!-- Using the latest rendering mode for IE -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Open Graph tags -->
<meta property="og:type" content="article"/>
<meta property="og:title" content="Installing OpenStack Icehouse Lab"/>
<meta property="og:url" content="http://celttechie.github.io/installing-openstack-icehouse-lab.html"/>
<meta property="og:description" content="using VirtualBox and Ubuntu 14.04 guests"/>
<!-- Bootstrap -->
<link rel="stylesheet" href="http://celttechie.github.io/theme/css/bootstrap.min.css" type="text/css"/>
<link href="http://celttechie.github.io/theme/css/font-awesome.min.css" rel="stylesheet">
<link href="http://celttechie.github.io/theme/css/pygments/native.css" rel="stylesheet">
<link rel="stylesheet" href="http://celttechie.github.io/theme/css/style.css" type="text/css"/>
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="http://celttechie.github.io/" class="navbar-brand">
Celttechie </a>
</div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
<li><a href="http://celttechie.github.io/pages/resume.html">
Resume
</a></li>
<li >
<a href="http://celttechie.github.io/category/notes.html">Notes</a>
</li>
<li >
<a href="http://celttechie.github.io/category/openstack.html">Openstack</a>
</li>
<li class="active">
<a href="http://celttechie.github.io/category/posts.html">Posts</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="http://celttechie.github.io/archives.html"><i class="fa fa-th-list"></i><span class="icon-label">Archives</span></a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
</div> <!-- /.navbar -->
<div class="container">
<div class="row">
<div class="col-sm-9">
<section id="content">
<article>
<header class="page-header">
<h1>
<a href="http://celttechie.github.io/installing-openstack-icehouse-lab.html"
rel="bookmark"
title="Permalink to Installing OpenStack Icehouse Lab">
Installing OpenStack Icehouse Lab
</a>
</h1>
</header>
<div class="entry-content">
<div class="panel">
<div class="panel-body">
<footer class="post-info">
<span class="label label-default">Date</span>
<span class="published">
<i class="fa fa-calendar"></i><time datetime="2014-06-02T00:00:00"> Mon 02 June 2014</time>
</span>
<span class="label label-default">Tags</span>
<a href="http://celttechie.github.io/tag/openstack.html">OpenStack</a>
/
<a href="http://celttechie.github.io/tag/icehouse.html">Icehouse</a>
/
<a href="http://celttechie.github.io/tag/lab.html">Lab</a>
/
<a href="http://celttechie.github.io/tag/ubuntu-1404.html">Ubuntu 14.04</a>
</footer><!-- /.post-info --> </div>
</div>
<p>NOTE: These are my notes as I'm installing OpenStack. I'll come back later and re-write it to make it more understandable.</p>
<h2>VirtualBox Setup</h2>
<h3>Network Layout</h3>
<p>Management network (every OS Node needs an interface on this network):<br />
10.10.10.0/24<br />
Data network (for the virtual nodes to do their work):<br />
10.20.20.0/24<br />
API Network (for external control):<br />
192.168.100.0</p>
<h3>Global network settings for virtualbox</h3>
<p> Management: vboxnet0, 10.10.10.1<br />
Data: vboxnet1, 10.20.20.1<br />
API: vboxnet2, 192.168.100.1</p>
<h3>Controller setup</h3>
<p> Name: OSControl0</p>
<pre>
echo "OSControl0" > /etc/hostname
hostname -F /etc/hostname
</pre>
<p> eth0: vboxnet0/10.10.10.11, eth1: vboxnet2/192.168.100.11, eth2: NAT (portforward 2211 to 22)<br />
edited <strong>/etc/network/interfaces</strong>: see the sample at <a href="https://bitbucket.org/celttechie/openstacklab/raw/default/controller/interfaces">https://bitbucket.org/celttechie/openstacklab/raw/default/controller/interfaces</a><br />
edited <strong>/etc/hosts</strong>: see the sample at <a href="https://bitbucket.org/celttechie/openstacklab/raw/default/controller/hosts">https://bitbucket.org/celttechie/openstacklab/raw/default/controller/hosts</a></p>
<h3>Neutron setup</h3>
<p> Name: OSNet0</p>
<pre>
echo "OSNet0" > /etc/hostname
hostname -F /etc/hostname
</pre>
<p> eth0: vboxnet0/10.10.10.21, eth1: vboxnet1/10.20.20.21, eth2: vboxnet2/192.168.100.21, eth3: NAT (portforward 2221 to 22)<br />
edited <strong>/etc/network/interfaces</strong>: see the sample at <a href="https://bitbucket.org/celttechie/openstacklab/raw/default/network/interfaces">https://bitbucket.org/celttechie/openstacklab/raw/default/network/interfaces</a><br />
edited <strong>/etc/hosts</strong>: see the sample at <a href="https://bitbucket.org/celttechie/openstacklab/raw/default/network/hosts">https://bitbucket.org/celttechie/openstacklab/raw/default/network/hosts</a></p>
<h3>Nova setup</h3>
<p> Name: OSNova0</p>
<pre>
echo "OSNova0" > /etc/hostname
hostname -F /etc/hostname
</pre>
<p> eth0: vboxnet0/10.10.10.101, eth1: vboxnet1/10.20.20.101, eth2: NAT (portforward 22101 to 22)<br />
edited <strong>/etc/network/interfaces</strong>: see the sample at <a href="https://bitbucket.org/celttechie/openstacklab/raw/default/compute/interfaces">https://bitbucket.org/celttechie/openstacklab/raw/default/compute/interfaces</a><br />
edited <strong>/etc/hosts</strong>: see the sample at <a href="https://bitbucket.org/celttechie/openstacklab/raw/default/compute/hosts">https://bitbucket.org/celttechie/openstacklab/raw/default/compute/hosts</a></p>
<h2>Node prerequisite setup</h2>
<h3>NTP</h3>
<p> installed NTP on all nodes: <img src="{ apt-get install ntp" title="{ apt-get install ntp" alt="{ apt-get install ntp" /><br />
On Network and Nova nodes, removed all server references and added a single reference to the controller node in /etc/ntp.conf:</p>
<pre>
server OSControl0.management iburst
</pre>
<p> restarted the NTP service with <tt>service ntp restart </tt> then tested to make sure the nodes referenced the controller <tt>ntpq -c peers</tt></p>
<h3>MySQL</h3>
<p> On the controller, ran <tt> apt-get install python-mysqldb mysql-server </tt> and gave a mysql root password.<br />
edited <strong>/etc/mysql/my.cnf</strong> and replaced <tt> bind-address = 127.0.0.1 </tt> with</p>
<pre>
bind-address = 10.10.10.11
#added for openstack
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
</pre>
<p>then, <tt> service mysql restart </tt> and <tt> mysql_secure_installation </tt></p>
<p>On the other nodes, installed: <tt> apt-get install python-mysqld </tt> so they will be able to access the database.</p>
<h3>RabbitMQ</h3>
<p>installed on the controller: <tt> apt-get install rabbitmq-server </tt><br />
Then, changed the "guest" password: <tt> rabbitmqctl change_password guest SOMEPASSWORD </tt></p>
<h2>Keystone Install</h2>
<p>Installed keystone following the instructions here: <a href=" http://docs.openstack.org/trunk/install-guide/install/apt/content/ch_keystone.html"> http://docs.openstack.org/trunk/install-guide/install/apt/content/ch_keystone.html</a> Just had to change <strong>controller</strong> to <strong>OSControl0</strong> when using urls.</p>
<h2>OpenStack Clients Install</h2>
<p>Installed the clients on my Ubuntu laptop (the VirtualBox host) using the information here: <a href="http://docs.openstack.org/trunk/install-guide/install/apt/content/ch_clients.html">http://docs.openstack.org/trunk/install-guide/install/apt/content/ch_clients.html</a><br />
Added entries to the <strong>/etc/hosts</strong> file to the management interfaces of each of the nodes.<br />
created admin-openrc.sh and demo-openrc.sh files.</p>
<p>( I found that I had had used the wrong password when I set up the demo user in keystone. The command to fix that was <tt> source ~/admin-openrc.sh; keystone user-password-update --pass somedemopass123 demo </tt></p>
<h2>Installing Image Service (Glance)</h2>
<p>running through the install guide for installing glance. When I got to <tt> su -s /bin/sh -c "glance-manage db_sync" glance </tt><br />
I got an error: </p>
<pre>
2014-06-02 20:19:09.939 10335 CRITICAL glance [-] ValueError: invalid literal for int() with base 10: ''
</pre>
<p>when I did <tt> glance-manage db_sync </tt> on its own I got the same error. I ran glance-manage --help and saw that there was a verbose switch, so I tried that: <tt> glance-manage -v db_sync </tt><br />
This gave me a stack trace, and I found that the empty int() was given a variable name "port". SQLAlchemy was trying to set up a connection to the mysql server and had an empty port variable. I thought this was odd and went back to look at my settings for the database connection string just in case I missed something. It turns out I had accidentally added a colon after the server name in the connection string, then followed it with the forward slash. This is what gave me an empty port.</p>
</div>
<!-- /.entry-content -->
</article>
</section>
</div>
<div class="col-sm-3 well well-sm" id="sidebar">
<aside>
<section>
<ul class="list-group list-group-flush">
<li class="list-group-item"><h4><i class="fa fa-home fa-lg"></i><span class="icon-label">Social</span></h4>
<ul class="list-group" id="social">
<li class="list-group-item"><a href="http://www.linkedin.com/in/bjarrett"><i
class="fa fa-linkedin-square fa-lg"></i> LinkedIn
</a></li>
</ul>
</li>
<li class="list-group-item"><a href="http://celttechie.github.io/"><h4><i class="fa fa-tags fa-lg"></i><span class="icon-label">Tags</span></h4></a>
<ul class="list-group" id="tags">
<li class="list-group-item tag-1">
<a href="http://celttechie.github.io/tag/ubuntu.html">
Ubuntu
</a>
</li>
<li class="list-group-item tag-1">
<a href="http://celttechie.github.io/tag/.html">
</a>
</li>
<li class="list-group-item tag-1">
<a href="http://celttechie.github.io/tag/ubuntu-1404.html">
Ubuntu 14.04
</a>
</li>
<li class="list-group-item tag-1">
<a href="http://celttechie.github.io/tag/virtualization.html">
virtualization
</a>
</li>
<li class="list-group-item tag-2">
<a href="http://celttechie.github.io/tag/bootstrap.html">
Bootstrap
</a>
</li>
<li class="list-group-item tag-2">
<a href="http://celttechie.github.io/tag/html.html">
HTML
</a>
</li>
<li class="list-group-item tag-2">
<a href="http://celttechie.github.io/tag/xen.html">
Xen
</a>
</li>
<li class="list-group-item tag-2">
<a href="http://celttechie.github.io/tag/laptop.html">
laptop
</a>
</li>
<li class="list-group-item tag-2">
<a href="http://celttechie.github.io/tag/openstack.html">
OpenStack
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/automation.html">
automation
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/git.html">
git
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/mongodb.html">
MongoDB
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/install.html">
install
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/authorization.html">
authorization
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/mcrypt.html">
mcrypt
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/apache.html">
Apache
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/configuration.html">
configuration
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/htpasswd.html">
htpasswd
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/lab.html">
Lab
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/css.html">
CSS
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/jinja2.html">
Jinja2
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/php.html">
PHP
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/guest.html">
guest
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/pyramid.html">
Pyramid
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/packages.html">
packages
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/careerlog.html">
CareerLog
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/virtualbox.html">
VirtualBox
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/authentication.html">
authentication
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/xen-44.html">
Xen 4.4
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/icehouse.html">
Icehouse
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/apache-24.html">
Apache 2.4
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/testing.html">
testing
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/hyper-v.html">
Hyper-V
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/1404.html">
14.04
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/1310.html">
13.10
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/pv-grub.html">
PV-Grub
</a>
</li>
<li class="list-group-item tag-4">
<a href="http://celttechie.github.io/tag/ruckus.html">
Ruckus
</a>
</li>
</ul>
</li>
<li class="list-group-item"><h4><i class="fa fa-external-link-square fa-lg"></i><span class="icon-label">Links</span></h4>
<ul class="list-group" id="links">
<li class="list-group-item">
<a href="http://getpelican.com/" target="_blank">
Pelican
</a>
</li>
<li class="list-group-item">
<a href="http://python.org/" target="_blank">
Python.org
</a>
</li>
<li class="list-group-item">
<a href="http://jinja.pocoo.org/" target="_blank">
Jinja2
</a>
</li>
<li class="list-group-item">
<a href="http://brianjarrett.endlessknot.us" target="_blank">
Old website
</a>
</li>
</ul>
</li>
</ul>
</section>
</aside> </div>
</div>
</div>
<footer>
<div class="container">
<hr>
<div class="row">
<div class="col-xs-10">© 2014 Brian Jarrett
· Powered by <a href="https://github.com/DandyDev/pelican-bootstrap3" target="_blank">pelican-bootstrap3</a>,
<a href="http://docs.getpelican.com/" target="_blank">Pelican</a>,
<a href="http://getbootstrap.com" target="_blank">Bootstrap</a> </div>
<div class="col-xs-2"><p class="pull-right"><i class="fa fa-arrow-up"></i> <a href="#">Back to top</a></p></div>
</div>
</div>
</footer>
<script src="//code.jquery.com/jquery.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="http://celttechie.github.io/theme/js/bootstrap.min.js"></script>
<!-- Enable responsive features in IE8 with Respond.js (https://github.com/scottjehl/Respond) -->
<script src="http://celttechie.github.io/theme/js/respond.min.js"></script>
</body>
</html>