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