Merge "Fixes release tags and versions"
[genesis.git] / fuel / docs / src / installation-instructions.rst
1 ==================================================================================================
2 OPNFV Installation instructions for the Arno release of OPNFV when using Fuel as a deployment tool
3 ==================================================================================================
4
5 .. contents:: Table of Contents
6    :backlinks: none
7
8
9 Abstract
10 ========
11
12 This document describes how to install the Arno release of OPNFV when using Fuel as a deployment tool covering it's limitations, dependencies and required system resources.
13
14 License
15 =======
16 Arno release of OPNFV when using Fuel as a deployment tool Docs (c) by Jonas Bjurel (Ericsson AB)
17
18 Arno release of OPNFV when using Fuel as a deployment tool Docs are licensed under a Creative Commons Attribution 4.0 International License. You should have received a copy of the license along with this. If not, see <http://creativecommons.org/licenses/by/4.0/>.
19
20 Version history
21 ===============
22
23 +--------------------+--------------------+--------------------+--------------------+
24 | **Date**           | **Ver.**           | **Author**         | **Comment**        |
25 |                    |                    |                    |                    |
26 +--------------------+--------------------+--------------------+--------------------+
27 | 2015-04-15         | 0.0.1              | Jonas Bjurel       | First draft        |
28 |                    |                    | (Ericsson AB)      |                    |
29 +--------------------+--------------------+--------------------+--------------------+
30 | 2015-04-23         | 0.0.2              | Jonas Bjurel       | Minor changes      |
31 |                    |                    | (Ericsson AB)      |                    |
32 +--------------------+--------------------+--------------------+--------------------+
33 | 2015-05-16         | 0.0.3              | Christopher Price  | Minor changes      |
34 |                    |                    | (Ericsson AB)      |                    |
35 +--------------------+--------------------+--------------------+--------------------+
36 | 2015-05-27         | 0.0.4              | Christopher Price  | Minor changes      |
37 |                    |                    | (Ericsson AB)      |                    |
38 +--------------------+--------------------+--------------------+--------------------+
39 | 2015-06-02         | 0.0.5              | Christopher Price  | Minor changes      |
40 |                    |                    | (Ericsson AB)      |                    |
41 +--------------------+--------------------+--------------------+--------------------+
42 | 2015-06-03         | 0.0.6              | Jonas Bjurel       | Minor changes      |
43 |                    |                    | (Ericsson AB)      |                    |
44 +--------------------+--------------------+--------------------+--------------------+
45 | 2015-06-03         | 0.0.7              | Jonas Bjurel       | Added instructions |
46 |                    |                    | (Ericsson AB)      | on how to enable   |
47 |                    |                    |                    | ODL                |
48 +--------------------+--------------------+--------------------+--------------------+
49
50
51 Introduction
52 ============
53
54 This document describes providing guidelines on how to install and configure the Arno release of OPNFV when using Fuel as a deployment tool including required software and hardware configurations.
55
56 Although the available installation options gives a high degree of freedom in how the system is set-up including architecture, services and features, etc. said permutations may not provide an OPNFV compliant reference architecture. This instruction provides a step-by-step guide that results in an OPNFV Arno compliant deployment.
57
58 The audience of this document is assumed to have good knowledge in networking and Unix/Linux administration.
59
60 Preface
61 =======
62
63 Before starting the installation of the Arno release of OPNFV when using Fuel as a deployment tool, some planning must be done.
64
65 Retrieving the ISO image
66 ------------------------
67
68 First of all, the Fuel deployment ISO image needs to be retrieved, the .iso image of the Arno release of OPNFV when using Fuel as a deployment tool can be found at http://artifacts.opnfv.org/arno.2015.1.0/fuel/arno.2015.1.0.fuel.iso
69
70 Building the ISO image
71 ----------------------
72
73 Alternatively, you may build the .iso from source by cloning the opnfv/genesis git repository.  To retrieve the repository for the Arno release use the following command:
74
75 <git clone https://<linux foundation uid>@gerrit.opnf.org/gerrit/genesis>
76
77 Check-out the Arno release tag to set the branch to the baseline required to replicate the Arno release:
78
79 <cd genesis; git checkout arno.2015.1.0>
80
81 Go to the fuel directory and build the .iso:
82
83 <cd fuel/build; make all>
84
85 For more information on how to build, please see "OPNFV Build instructions for - Arno release of OPNFV when using Fuel as a deployment tool which you retrieved with the repository at </genesis/fuel/docs/src/build-instructions.rst>
86
87 Next, familiarize yourself with the Fuel 6.0.1 version by reading the following documents:
88
89 - Fuel planning guide <http://docs.mirantis.com/openstack/fuel/fuel-6.0/planning-guide.html#planning-guide>
90
91 - Fuel user guide <http://docs.mirantis.com/openstack/fuel/fuel-6.0/user-guide.html#user-guide>
92
93 - Fuel operations guide <http://docs.mirantis.com/openstack/fuel/fuel-6.0/operations.html#operations-guide>
94
95 A number of deployment specific parameters must be collected, those are:
96
97 1.     Provider sub-net and gateway information
98
99 2.     Provider VLAN information
100
101 3.     Provider DNS addresses
102
103 4.     Provider NTP addresses
104
105 This information will be needed for the configuration procedures provided in this document.
106
107 Hardware requirements
108 =====================
109
110 The following minimum hardware requirements must be met for the installation of Arno using Fuel:
111
112 +--------------------+------------------------------------------------------+
113 | **HW Aspect**      | **Requirement**                                      |
114 |                    |                                                      |
115 +--------------------+------------------------------------------------------+
116 | **# of servers**   | Minimum 5 (3 for non redundant deployment):          |
117 |                    |                                                      |
118 |                    | - 1 Fuel deployment master (may be virtualized)      |
119 |                    |                                                      |
120 |                    | - 3(1) Controllers                                   |
121 |                    |                                                      |
122 |                    | - 1 Compute                                          |
123 +--------------------+------------------------------------------------------+
124 | **CPU**            | Minimum 1 socket x86_AMD64 Ivy bridge 1.6 GHz        |
125 |                    |                                                      |
126 +--------------------+------------------------------------------------------+
127 | **RAM**            | Minimum 16GB/server (Depending on VNF work load)     |
128 |                    |                                                      |
129 +--------------------+------------------------------------------------------+
130 | **Disk**           | Minimum 256GB 10kRPM spinning disks                  |
131 |                    |                                                      |
132 +--------------------+------------------------------------------------------+
133 | **NICs**           | - 2(1)x10GE Niantec for Private/Public (Redundant)   |
134 |                    |                                                      |
135 |                    | - 2(1)x10GE Niantec for SAN (Redundant)              |
136 |                    |                                                      |
137 |                    | - 2(1)x1GE for admin (PXE) and control (RabitMQ,etc) |
138 |                    |                                                      |
139 +--------------------+------------------------------------------------------+
140
141 Top of the rack (TOR) Configuration requirements
142 ================================================
143
144 The switching infrastructure provides connectivity for the OPNFV infrastructure operations, tenant networks (East/West) and provider connectivity (North/South bound connectivity); it also provides needed connectivity for the storage Area Network (SAN). To avoid traffic congestion, it is strongly suggested that three physically separated networks are used, that is: 1 physical network for administration and control, one physical network for tenant private and public networks, and one physical network for SAN. The switching connectivity can (but does not need to) be fully redundant, in such case it and comprises a redundant 10GE switch pair for each of the three physically separated networks.
145
146 The physical TOR switches are **not** automatically configured from the OPNFV reference platform. All the networks involved in the OPNFV infrastructure as well as the provider networks and the private tenant VLANs needs to be manually configured.
147
148
149 Manual configuration of the Arno hardware platform should be carried out according to the Pharos specification http://artifacts.opnfv.org/arno.2015.1.0/docs/pharos-spec.arno.2015.1.0.pdf
150
151 OPNFV Software installation and deployment
152 ==========================================
153
154 This section describes the installation of the OPNFV installation server (Fuel master) as well as the deployment of the full OPNFV reference platform stack across a server cluster.
155
156 Install Fuel master
157 -------------------
158 1. Mount the built arno.2015.1.0.fuel.iso file as a boot device to the jump host server.
159
160 2. Reboot the jump host to establish the Fuel server.
161
162    - The system now boots from the ISO image.
163
164 3. Change the grub boot parameters
165
166    - When the grub boot menu shows up - Press Tab to edit the kernel parameters
167
168    - Change <showmenu=no> to <showmenu=yes>.
169
170    - Change <netmask=255.255.255.0> to <netmask=255.255.0.0>.
171
172    - Press [Enter].
173
174 4. Wait until screen Fuel setup is shown (Note: This can take up to 30 minutes).
175
176 5. Select PXE Setup and change the following fields to appropriate values (example below):
177
178    - Static Pool Start 10.20.0.3
179
180    - Static Pool End 10.20.0.254
181
182    - DHCP Pool Start 10.20.128.3
183
184    - DHCP Pool End 10.20.128.254
185
186 6. Select DNS & Hostname and change the following fields to appropriate values:
187
188    - Hostname <OPNFV Region name>-fuel
189
190    - Domain <Domain Name>
191
192    - Search Domain <Search Domain Name>
193
194    - Hostname to test DNS <Hostname to test DNS>
195
196 7. Select Time Sync and change the following fields to appropriate values:
197
198    - NTP Server 1 <Customer NTP server 1>
199
200    - NTP Server 2 <Customer NTP server 2>
201
202    - NTP Server 3 <Customer NTP server 3>
203
204    **Note: This step is only to pass the network sanity test, the actual ntp parameters will be set with the pre-deploy script.**
205
206 8. Start the installation.
207
208    - Select Quit Setup and press Save and Quit.
209
210    - Installation starts, wait until a screen with logon credentials is shown.
211
212    Note: This will take about 15 minutes.
213
214 Create an OPNFV Environment
215 ---------------------------
216
217 9. Connect to Fuel with a browser towards port 8000
218
219 10. Create and name a new OpenStack environment, to be installed.
220
221 11. Select <Juno on Ubuntu> or <Juno on CentOS> as per your which in the "OpenStack Release" field.
222
223 12. Select deployment mode.
224
225     - Select the Multi-node with HA.
226
227 13. Select compute node mode.
228
229     - Select KVM as hypervisor (unless you're not deploying bare metal or nested KVM/ESXI).
230
231 14. Select network mode.
232
233     - Select Neutron with VLAN segmentation
234
235     ** Note: This will later be overridden to VXLAN by OpenDaylight.**
236
237 15. Select Storage Back-ends.
238
239     - Select Ceph for Cinder and default for glance.
240
241 16. Select additional services.
242
243     - Check option <Install Celiometer (OpenStack Telemetry)>.
244
245 17. Create the new environment.
246
247 Configure the OPNFV environment
248 -------------------------------
249
250 18. Enable PXE booting
251
252     - For every controller and compute server: enable PXE Booting as the first boot device in the BIOS boot order menu and hard disk as the second boot device in the same menu.
253
254 19. Reboot all the control and compute blades.
255
256 20. Wait for the availability of nodes showing up in the Fuel GUI.
257
258     - Wait until all nodes are displayed in top right corner of the Fuel GUI: <total number of server> TOTAL NODES and <total number of servers> UNALLOCATED NODES.
259
260 21. Open the environment you previously created.
261
262 22. Open the networks tab.
263
264 23. Update the public network configuration.
265
266     Change the following fields to appropriate values:
267
268     - IP Range Start to <Public IP Address start>
269
270     - IP Range End to <Public IP Address end>
271
272     - CIDR to <CIDR for Public IP Addresses>
273
274     - Gateway to <Gateway for Public IP Addresses>
275
276     - Check VLAN tagging.
277
278     - Set appropriate VLAN id.
279
280 24. Update the management network configuration.
281
282     - Set CIDR to 172.16.255.128/25 (or as per your which).
283
284     - Check VLAN tagging.
285
286     - Set appropriate VLAN id.
287
288 25. Update the Neutron L2 configuration.
289
290     - Set VLAN ID range.
291
292 26. Update the Neutron L3 configuration.
293
294     - Set Internal network CIDR to an appropriate value
295
296     - Set Internal network gateway to an appropriate value
297
298     - Set Floating IP ranges.
299
300     - Set DNS Servers
301
302 27. Save Settings.
303
304 28. Click "verify network" to check the network set-up consistency and connectivity
305
306 29. Update the storage configuration.
307
308 30. Open the nodes tab.
309
310 31. Assign roles.
311
312     - Check <Controller and Telemetry MongoDB>.
313
314     - Check the three servers you want to be installed as Controllers in pane <Assign Role>.
315
316     - Click <Apply Changes>.
317
318     - Check <Compute>.
319
320     - Check nodes to be installed as compute nodes in pane Assign Role.
321
322     - Click <Apply Changes>.
323
324 32. Configure interfaces.
325
326     - Check Select <All> to select all nodes with Control, Telemetry, MongoDB and Compute node roles.
327
328     - Click <Configure Interfaces>
329
330     - Screen Configure interfaces on number of <number of nodes> nodes is shown.
331
332     - Assign interfaces (bonded) for mgmt-, admin-, private-, public- and storage networks
333
334 Deploy the OPNFV environment
335 ----------------------------
336 **NOTE: Before the deployment is performed, the OPNFV pre-deploy script must be run**
337
338 35. Run the pre-deploy script.
339     Log on as root to the Fuel node.
340     Print Fuel environment Id (fuel env)
341     #> id | status | name | mode | release_id | changes <id>| new | <CEE Region name>| ha_compact | 2 | <ite specific information>
342
343 36. Run the pre-deployment script (/opt/opnfv/pre-deploy.sh <id>)
344     As prompted for-, set the DNS servers to go into /etc/resolv.conf.
345     As prompted for-, set any Hosts file additions for controllers and compute nodes. You will be prompted for name, FQDN and IP for each entry. Press return when prompted for a name when you have completed your input.
346     As prompted for-, set NTP upstream configuration for controllers. You will be prompted for a NTP server each entry. Press return when prompted for a NTP server when you have completed your input.
347
348 37. Deploy the environment.
349     In the Fuel GUI, click Deploy Changes.
350
351 Installation health-check
352 =========================
353
354 38. Perform system health-check
355 Now that the OPNFV environment has been created, and before the post installation configurations is started, perform a system health check from the Fuel GUI:
356
357 - Select the “Health check” TAB.
358 - Select all test cases
359 - And click “Run tests”
360
361 All test cases should pass.
362
363 Post installation and deployment actions
364 ========================================
365
366 Activate OpenDaylight and VXLAN network segmentation
367 ----------------------------------------------------
368 ** Note: With the current release, the OpenDaylight option is experimental!**
369 ** Note: With ODL enabled, L3 features will no longer be available **
370 The activation of ODL within a deployed Fuel system is a two part process.
371
372 The first part involves staging the ODL container, i.e. starting the ODL container itself.
373 The second part involves a reconfiguration of the underlying networking components to enable VXLAN tunneling.
374 The staging of the ODL container works without manual intervention except for editing with a valid DNS IP for your system
375
376 For the second part - the reconfiguration of the networking, the script <config_net_odl.sh> is provided as a baseline example to show what needs to be configured for your system system setup. Since there are many variants of valid networking topologies, this script will not be 100% correct in all deployment cases and some manual script modifications maybe required.
377
378 39. Enable the ODL controller
379 ssh to any of the OpenStack controllers and issue the following command as root user: </opt/opnfv/odl/stage_odl.sh>
380 This script will start ODL, load modules and make the Controller ready for use.
381 ** Note: - The script should only be ran on a single controller (even if the system is setup in a High Availability OpenStack mode). **
382
383 40. Verify that the OpenDaylight GUI is accessible
384 Point your browser to the following URL: <http://{ODL-CONTROLLER-IP}:8181/dlux/index.html> and login:
385 Username: Admin
386 Password: Admin
387
388 41. Reconfiguring the networking and switch to VXLAN network segmentation
389 ssh to all of the nodes and issue the following command </opt/opnfv/odl/config_net_odl.sh> in the order specified below:
390 a. All compute nodes
391 b. All OpenStack controller nodes except the one running the ODL-controller
392 c. The OpenStack controller also running the ODL controller
393
394 This script will reconfigure the networking from VLAN Segregation to VXLAN mode.
395
396
397 References
398 ==========
399
400 OPNFV
401 -----
402 <www.opnfv.org>
403 <https://wiki.opnfv.org/get_started>
404
405 OpenStack
406 ---------
407 <http://www.openstack.org/software/juno>
408 <http://docs.openstack.org>
409
410 OpenDaylight
411 ------------
412 <http://www.opendaylight.org/software/downloads>
413
414 Fuel
415 ----
416 <https://wiki.openstack.org/wiki/Fuel>
417
418
419 :Authors: Jonas Bjurel (Ericsson AB)
420 :Version: 0.0.7
421
422 **Documentation tracking**
423
424 Revision: _sha1
425
426 Build date:  _date