To update the documentation for E-release
[kvmfornfv.git] / docs / release / scenarios / os-nosdn-kvm_ovs_dpdk-noha / os-nosdn-kvm_ovs_dpdk-noha.description.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2
3 .. http://creativecommons.org/licenses/by/4.0
4
5 ==========================================
6 os-nosdn-kvm_ovs_dpdk-noha Description
7 ==========================================
8
9 Introduction
10 ------------
11
12 .. In this section explain the purpose of the scenario and the
13    types of capabilities provided
14
15 The purpose of os-nosdn-kvm_ovs_dpdk-noha scenario testing is to test the No
16 High Availability deployment and configuration of OPNFV software suite
17 with OpenStack and without SDN software. This OPNFV software suite
18 includes OPNFV KVM4NFV latest software packages for Linux Kernel and
19 QEMU patches for achieving low latency. When deployed using Fuel, No High
20 Availability feature is achieved by deploying OpenStack multi-node setup with
21 1 controller and 3 computes nodes and using Apex the setup is with 1 controller
22 and 1 compute.
23
24 KVM4NFV packages will be installed on compute nodes as part of deployment.
25 This scenario testcase deployment is happening on multi-node by using OPNFV Fuel
26 and Apex deployer.
27
28
29 **Using Fuel Installer**
30
31 Scenario Components and Composition
32 ------------------------------------
33 .. In this section describe the unique components that make up the scenario,
34 .. what each component provides and why it has been included in order
35 .. to communicate to the user the capabilities available in this scenario.
36
37 This scenario deploys the No High Availability OPNFV Cloud based on the
38 configurations provided in no-ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml.
39 This yaml file contains following configurations and is passed as an
40 argument to deploy.py script
41
42 * ``scenario.yaml:`` This configuration file defines translation between a
43   short deployment scenario name(os-nosdn-kvm_ovs_dpdk-noha) and an actual deployment
44   scenario configuration file(no-ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml)
45
46 * ``deployment-scenario-metadata:`` Contains the configuration metadata like
47   title,version,created,comment.
48
49 .. code:: bash
50
51    deployment-scenario-metadata:
52       title: NFV KVM and OVS-DPDK NOHA deployment
53       version: 0.0.1
54       created: Dec 20 2016
55       comment: NFV KVM and OVS-DPDK
56
57 * ``stack-extensions:`` Stack extentions are opnfv added value features in form
58   of a fuel-plugin.Plugins listed in stack extensions are enabled and
59   configured. os-nosdn-kvm_ovs_dpdk-noha scenario currently uses KVM-1.0.0 plugin.
60
61 .. code:: bash
62
63    stack-extensions:
64       - module: fuel-plugin-kvm
65         module-config-name: fuel-nfvkvm
66         module-config-version: 1.0.0
67         module-config-override:
68           # Module config overrides
69
70 * ``dea-override-config:`` Used to configure the NO-HA mode,network segmentation
71   types and role to node assignments.These configurations overrides
72   corresponding keys in the dea_base.yaml and dea_pod_override.yaml.
73   These keys are used to deploy multiple nodes(``1 controller,3 computes``)
74   as mention below.
75
76   * **Node 1**:
77      - This node has MongoDB and Controller roles
78      - The controller node runs the Identity service, Image Service, management portions of
79        Compute and Networking, Networking plug-in and the dashboard
80      - Uses VLAN as an interface
81
82   * **Node 2**:
83      - This node has compute and Ceph-osd roles
84      - Ceph is a massively scalable, open source, distributed storage system
85      - By default, Compute uses KVM as the hypervisor
86      - Uses DPDK as an interface
87
88   * **Node 3**:
89      - This node has compute and Ceph-osd roles
90      - Ceph is a massively scalable, open source, distributed storage system
91      - By default, Compute uses KVM as the hypervisor
92      - Uses DPDK as an interface
93
94   * **Node 4**:
95      - This node has compute and Ceph-osd roles
96      - Ceph is a massively scalable, open source, distributed storage system
97      - By default, Compute uses KVM as the hypervisor
98      - Uses DPDK as an interface
99
100   The below is the ``dea-override-config`` of the no-ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml file.
101
102 .. code:: bash
103
104    dea-override-config:
105      fuel:
106        FEATURE_GROUPS:
107        - experimental
108      environment:
109        net_segment_type: vlan
110      nodes:
111      - id: 1
112        interfaces: interfaces_vlan
113        role: mongo,controller
114      - id: 2
115        interfaces: interfaces_dpdk
116        role: ceph-osd,compute
117        attributes: attributes_1
118      - id: 3
119        interfaces: interfaces_dpdk
120        role: ceph-osd,compute
121        attributes: attributes_1
122      - id: 4
123        interfaces: interfaces_dpdk
124        role: ceph-osd,compute
125        attributes: attributes_1
126
127      attributes_1:
128        hugepages:
129          dpdk:
130            value: 1024
131          nova:
132            value:
133              '2048': 1024
134
135      network:
136        networking_parameters:
137          segmentation_type: vlan
138        networks:
139        - cidr: null
140          gateway: null
141          ip_ranges: []
142          meta:
143            configurable: false
144            map_priority: 2
145            name: private
146            neutron_vlan_range: true
147            notation: null
148            render_addr_mask: null
149            render_type: null
150            seg_type: vlan
151            use_gateway: false
152            vlan_start: null
153          name: private
154          vlan_start: null
155
156      settings:
157        editable:
158          storage:
159            ephemeral_ceph:
160              description: Configures Nova to store ephemeral volumes in RBD. This works best if Ceph
161              is enabled for volumes and images, too. Enables live migration of all types of Ceph
162              backed VMs (without this option, live migration will only work with VMs launched from
163              Cinder volumes).
164              label: Ceph RBD for ephemeral volumes (Nova)
165              type: checkbox
166              value: true
167              weight: 75
168            images_ceph:
169              description: Configures Glance to use the Ceph RBD backend to store images. If enabled,
170              this option will prevent Swift from installing.
171              label: Ceph RBD for images (Glance)
172              restrictions:
173              - settings:storage.images_vcenter.value == true: Only one Glance backend could be selected.
174              type: checkbox
175              value: true
176              weight: 30
177
178 * ``dha-override-config:`` Provides information about the VM definition and
179   Network config for virtual deployment.These configurations overrides
180   the pod dha definition and points to the controller,compute and
181   fuel definition files. The no-ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml
182   has no dha-config changes i.e., default configuration is used.
183
184 * os-nosdn-kvm_ovs_dpdk-noha scenario is successful when all the 4 Nodes are accessible,
185   up and running.
186
187
188
189 **Note:**
190
191 * In os-nosdn-kvm_ovs_dpdk-noha scenario, OVS is installed on the compute nodes with DPDK configured
192
193 * Hugepages for DPDK are configured in the attributes_1 section of the
194 no-ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml
195
196 * Hugepages are only configured for compute nodes
197
198 * This results in faster communication and data transfer among the compute nodes
199
200
201 Scenario Usage Overview
202 -----------------------
203
204 .. Provide a brief overview on how to use the scenario and the features available to the
205 .. user.  This should be an "introduction" to the userguide document, and explicitly link to it,
206 .. where the specifics of the features are covered including examples and API's
207
208 * The high availability feature is disabled and deploymet is done by deploy.py with
209   noha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml as an argument.
210 * Install Fuel Master and deploy OPNFV Cloud from scratch on Hardware
211   Environment:
212
213
214 Command to deploy the os-nosdn-kvm_ovs_dpdk-noha scenario:
215
216 .. code:: bash
217
218         $ cd ~/fuel/ci/
219         $ sudo ./deploy.sh -f -b file:///tmp/opnfv-fuel/deploy/config -l devel-pipeline -p default \
220         -s no-ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml -i file:///tmp/opnfv.iso
221
222 where,
223     -b is used to specify the configuration directory
224
225     -i is used to specify the image downloaded from artifacts.
226
227 **Note:**
228
229 .. code:: bash
230
231          Check $ sudo ./deploy.sh -h for further information.
232
233 * os-nosdn-kvm_ovs_dpdk-noha scenario can be executed from the jenkins project
234   "fuel-os-nosdn-kvm_ovs_dpdk-noha-baremetal-daily-master"
235 * This scenario provides the No High Availability feature by deploying
236   1 controller,3 compute nodes and checking if all the 4 nodes
237   are accessible(IP,up & running).
238 * Test Scenario is passed if deployment is successful and all 4 nodes have
239   accessibility (IP , up & running).
240
241
242 **Using Apex Installer**
243
244 Scenario Components and Composition
245 -----------------------------------
246 .. In this section describe the unique components that make up the scenario,
247 .. what each component provides and why it has been included in order
248 .. to communicate to the user the capabilities available in this scenario.
249
250 This scenario is composed of common OpenStack services enabled by default,
251 including Nova, Neutron, Glance, Cinder, Keystone, Horizon.  Optionally and
252 by default, Tacker and Congress services are also enabled.  Ceph is used as
253 the backend storage to Cinder on all deployed nodes.
254
255 The os-nosdn-kvm_ovs_dpdk-noha.yaml file contains following configurations and
256 is passed as an argument to deploy.sh script.
257
258 * ``global-params:`` Used to define the global parameter and there is only one
259   such parameter exists,i.e, ha_enabled
260
261 .. code:: bash
262
263    global-params:
264      ha_enabled: false
265
266 * ``deploy_options:`` Used to define the type of SDN controller, configure the
267   tacker, congress, service functioning chaining support(sfc) for ODL and ONOS,
268   configure ODL with SDNVPN support, which dataplane to use for overcloud
269   tenant networks, whether to run the kvm real time kernel (rt_kvm) in the
270   compute node(s) to reduce the network latencies caused by network function
271   virtualization and whether to install and configure fdio functionality in the
272   overcloud
273
274 .. code:: bash
275
276    deploy_options:
277      sdn_controller: false
278      tacker: true
279      congress: true
280      sfc: false
281      vpn: false
282      rt_kvm: true
283      dataplane: ovs_dpdk
284
285 * ``performance:`` Used to set performance options on specific roles. The valid
286   roles are 'Compute', 'Controller' and 'Storage', and the valid sections are
287   'kernel' and 'nova'
288
289 .. code:: bash
290
291    performance:
292      Controller:
293        kernel:
294          hugepages: 1024
295          hugepagesz: 2M
296      Compute:
297        kernel:
298          hugepagesz: 2M
299          hugepages: 2048
300          intel_iommu: 'on'
301          iommu: pt
302        ovs:
303          socket_memory: 1024
304          pmd_cores: 2
305          dpdk_cores: 1
306
307 Scenario Usage Overview
308 -----------------------
309 .. Provide a brief overview on how to use the scenario and the features available to the
310 .. user.  This should be an "introduction" to the userguide document, and explicitly link to it,
311 .. where the specifics of the features are covered including examples and API's
312
313 * The high availability feature can be acheived by executing deploy.sh with
314   os-nosdn-kvm_ovs_dpdk-noha.yaml as an argument.
315
316 * Build the undercloud and overcloud images as mentioned below:
317
318 .. code:: bash
319
320    cd ~/apex/build/
321    make images-clean
322    make images
323
324 * Command to deploy os-nosdn-kvm_ovs_dpdk-noha scenario:
325
326 .. code:: bash
327
328    cd ~/apex/ci/
329    ./clean.sh
330    ./dev_dep_check.sh
331    ./deploy.sh -v --ping-site <ping_ip-address> --dnslookup-site <dns_ip-address> -n \
332    ~/apex/config/network/intc_network_settings.yaml -d ~/apex/config/deploy/os-nosdn-kvm_ovs_dpdk-noha.yaml
333
334 where,
335     -v is used for virtual deployment
336     -n is used for providing the network configuration file
337     -d is used for providing the scenario configuration file
338
339
340 References
341 ----------
342
343 For more information on the OPNFV Euphrates release, please visit
344 http://www.opnfv.org/Euphrates