Update git submodules
[opnfvdocs.git] / docs / templates / release / configguide / feature.configuration.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. (c) Ferenc Cserepkei, Brady Allen Johnson, Manuel Buil and others
4
5 Abstract
6 ========
7 This document provides information on how to install the OpenDayLigh SFC
8 features in OPNFV with the use of os_odl-l2_sfc-(no)ha scenario.
9
10 SFC feature desciription
11 ========================
12 For details of the scenarios and their provided capabilities refer to
13 the scenario description documents:
14
15 - http://artifacts.opnfv.org/sfc/colorado/docs/scenarios_os-odl_l2-sfc-ha/index.html
16
17 - http://artifacts.opnfv.org/sfc/colorado/docs/scenarios_os-odl_l2-sfc-noha/index.html
18
19
20 The SFC feature enables creation of Service Fuction Chains - an ordered list
21 of chained network funcions (e.g. firewalls, NAT, QoS)
22
23 The SFC feature in OPNFV is implemented by 3 major components:
24
25 - OpenDayLight SDN controller
26
27 - Tacker: Generic VNF Manager (VNFM) and a NFV Orchestrator (NFVO)
28
29 - OpenvSwitch: The Service Function Forwarder(s)
30
31 Hardware requirements
32 =====================
33
34 The SFC scenarios can be deployed on a bare-metal OPNFV cluster or on a
35 virtual environment on a single host.
36
37 Bare metal deployment on (OPNFV) Pharos lab
38 -------------------------------------------
39 Hardware requirements for bare-metal deployments of the OPNFV infrastructure
40 are given by the Pharos project. The Pharos project provides an OPNFV
41 hardware specification for configuring your hardware:
42 http://artifacts.opnfv.org/pharos/docs/pharos-spec.html
43
44
45 Virtual deployment
46 ------------------
47 To perform a virtual deployment of an OPNFV SFC scenario on a single host,
48 that host has to meet the following hardware requirements:
49
50 - SandyBridge compatible CPU with virtualization support
51
52 - capable to host 5 virtual cores (5 physical ones at least)
53
54 - 8-12 GBytes RAM for virtual hosts (controller, compute), 48GByte at least
55
56 - 128 GiBiBytes room on disk for each virtual host (controller, compute) +
57   64GiBiBytes for fuel master, 576 GiBiBytes at least
58
59 - Ubuntu Trusty Tahr - 14.04(.5) server operating system with at least ssh
60   service selected at installation.
61
62 - Internet Connection (preferably http proxyless)
63
64
65 Pre-configuration activites - Preparing the host to install Fuel by script
66 ==========================================================================
67 .. Not all of these options are relevant for all scenario's.  I advise following the
68 .. instructions applicable to the deploy tool used in the scenario.
69
70 Before starting the installation of the SFC scenarios some preparation of the
71 machine that will host the Colorado Fuel cluster must be done.
72
73 Installation of required packages
74 ---------------------------------
75 To be able to run the installation of the basic OPNFV fuel installation the
76 Jumphost (or the host which serves the VMs for the virtual deployment) needs to
77 install the following packages:
78 ::
79
80  sudo apt-get install -y git make curl libvirt-bin libpq-dev qemu-kvm \
81                          qemu-system tightvncserver virt-manager sshpass \
82                          fuseiso genisoimage blackbox xterm python-pip \
83                          python-git python-dev python-oslo.config \
84                          python-pip python-dev libffi-dev libxml2-dev \
85                          libxslt1-dev libffi-dev libxml2-dev libxslt1-dev \
86                          expect curl python-netaddr p7zip-full
87
88  sudo pip install GitPython pyyaml netaddr paramiko lxml scp \
89                   scp pycrypto ecdsa debtcollector netifaces enum
90
91 During libvirt install the user is added to the libvirtd group, so you have to
92 logout then login back again
93
94
95 Download the installer source code and artifact
96 -----------------------------------------------
97 To be able to install the scenario os_odl-l2_sfc-(no)ha one can follow the way
98 CI is deploying the scenario.
99 First of all the opnfv-fuel repository needs to be cloned:
100 ::
101
102  git clone -b 'stable/colorado' ssh://<user>@gerrit.opnfv.org:29418/fuel
103
104 This command copies the whole colorado branch of repository fuel.
105
106 Now download the appropriate OPNFV Fuel ISO into an appropriate folder:
107 ::
108
109  wget http://artifacts.opnfv.org/fuel/colorado/opnfv-colorado.1.0.iso
110
111 The exact name of the ISO image may change.
112 Check https://www.opnfv.org/opnfv-colorado-fuel-users to get the latest ISO.
113
114 Simplified scenario deployment procedure using Fuel
115 ===================================================
116
117 This section describes the installation of the os-odl-l2_sfc or
118 os-odl-l2_sfc-noha OPNFV reference platform stack across a server cluster
119 or a single host as a virtual deployment.
120
121 Scenario Preparation
122 --------------------
123 dea.yaml and dha.yaml need to be copied and changed according to the
124 lab-name/host where you deploy.
125 Copy the full lab config from:
126 ::
127
128  cp -r <path-to-opnfv-fuel-repo>/deploy/config/labs/devel-pipeline/elx \
129     <path-to-opnfv-fuel-repo>/deploy/config/labs/devel-pipeline/<your-lab-name>
130
131 Add at the bottom of dha.yaml
132 ::
133
134  disks:
135    fuel: 64G
136    controller: 128G
137    compute: 128G
138
139  define_vms:
140    controller:
141      vcpu:
142        value: 2
143      memory:
144        attribute_equlas:
145          unit: KiB
146        value: 12521472
147      currentMemory:
148        attribute_equlas:
149          unit: KiB
150        value: 12521472
151    compute:
152      vcpu:
153        value: 2
154      memory:
155        attribute_equlas:
156          unit: KiB
157        value: 8388608
158      currentMemory:
159        attribute_equlas:
160          unit: KiB
161        value: 8388608
162    fuel:
163      vcpu:
164        value: 2
165      memory:
166        attribute_equlas:
167          unit: KiB
168        value: 2097152
169      currentMemory:
170        attribute_equlas:
171          unit: KiB
172        value: 2097152
173
174 Check if the default settings in dea.yaml are in line with your intentions
175 and make changes as required.
176
177 Installation procedures
178 -----------------------
179
180 We state here several alternatives.
181 First, we describe methods that are based on the use of the deploy.sh script,
182 what is used by the OPNFV CI system and can be found in the Fuel repository.
183
184 In addition, the SFC feature can also be configured manually in the Fuel GUI
185 what we will show in the last subsection.
186
187 Before starting any of the following procedures, go to
188 ::
189
190  cd <opnfv-fuel-repo>/ci
191
192 Full automatic virtual deployment, High Availablity mode
193 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
194
195 This example will deploy the high-availability flavor of SFC scenario
196 os_odl-l2_sfc-ha in a fully automatic way, i.e. all installation steps
197 (Fuel server installation, configuration, node discovery and platform
198 deployment) will take place without any further prompt for user input.
199 ::
200
201  sudo bash ./deploy.sh -b file://<path-to-opnfv-fuel-repo>/config/ -l devel-pipeline -p <your-lab-name>
202  -s os_odl-l2_sfc-ha -i file://<path-to-fuel-iso>
203
204 Full automatic virtual deployment, non HIGH Availablity mode
205 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
206
207 The following command will deploy the SFC scenario with non-high-availability
208 flavor (note the  different scenario name for the -s switch). Otherwise it
209 does the same as described above.
210 ::
211
212  sudo bash ./deploy.sh -b file://<path-to-opnfv-fuel-repo>/config/ -l devel-pipeline -p <your-lab-name>
213  -s os_odl-l2_sfc-noha -i file://<path-to-fuel-iso>
214
215 Automatic Fuel installation and manual scenario deployment
216 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
217
218 A useful alternative to the full automatic procedure is to only deploy the Fuel host and to run host selection, role assignment and SFC scenario configuration manually.
219 ::
220
221  sudo bash ./deploy.sh -b file://<path-to-opnfv-fuel-repo>/config/ -l devel-pipeline -p <your-lab-name> -s os_odl-l2_sfc-ha -i file://<path-to-fuel-iso> -e
222
223 With -e option the installer will skip environment deployment, so an user
224 can do some modification before the scenario is really deployed. Another
225 useful option is the -f option which deploys the scenario using an existing
226 Fuel host.
227
228 The result of this installation is a well configured Fuel sever. The use of
229 the deploy button on Fuel dashboard can initiate the deployment. A user may
230 perform manual post-configuration as well.
231
232 Feature configuration on existing Fuel
233 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
234
235 If a Fuel server is already provisioned but the fuel plugins for Opendaylight,
236 Openvswitch are not provided install them by:
237 ::
238
239  cd /opt/opnfv/
240  fuel plugins --install fuel-plugin-ovs-*.noarch.rpm
241  fuel plugins --install opendaylight-*.noarch.rpm
242
243 If plugins are installed and you want to update them use --force flag.
244
245 Note that One may inject other - Colorado compatible - plugins to the Fuel
246 Master host using the command scp:
247
248 scp <plugin>.rpm root@10.20.0.2:<plugin>.rpm
249
250 Now the feature can be configured. Create a new environment with
251 Networking Setup:"OpenDayLight with tunneling segmentation". Then go to
252 settings/other and check "OpenDaylight plugin, SFC enabled",
253 "Install Openvswitch with NSH/DPDK, with NSH enabled". During node provision
254 remember assign the OpenDayLight role to the (primary)controller
255
256 Now the deploy button on fuel dashboard can be used to deploy the environment.