a96130cadcb2c2816d53ea0a760dd7539bb87364
[kvmfornfv.git] / docs / release / scenarios / os-nosdn-kvm_nfv_ovs_dpdk-ha / os-nosdn-kvm_nfv_ovs_dpdk-ha.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_nfv_ovs_dpdk-ha 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-ha scenario testing is to test the
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. High Availability feature is achieved
20 by deploying OpenStack multi-node setup with 3 controllers and 2 computes nodes.
21
22 KVM4NFV packages will be installed on compute nodes as part of deployment.
23 This scenario testcase deployment is happening on multi-node by using OPNFV Fuel deployer.
24
25 Scenario Components and Composition
26 -----------------------------------
27 .. In this section describe the unique components that make up the scenario,
28 .. what each component provides and why it has been included in order
29 .. to communicate to the user the capabilities available in this scenario.
30
31 This scenario deploys the High Availability OPNFV Cloud based on the
32 configurations provided in ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml.
33 This yaml file contains following configurations and is passed as an
34 argument to deploy.py script
35
36 * ``scenario.yaml:`` This configuration file defines translation between a
37   short deployment scenario name(os-nosdn-kvm_ovs_dpdk-ha) and an actual deployment
38   scenario configuration file(ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml)
39
40 * ``deployment-scenario-metadata:`` Contains the configuration metadata like
41   title,version,created,comment.
42
43 .. code:: bash
44
45    deployment-scenario-metadata:
46       title: NFV KVM and OVS-DPDK HA deployment
47       version: 0.0.1
48       created: Dec 20 2016
49       comment: NFV KVM and OVS-DPDK
50
51 * ``stack-extensions:`` Stack extentions are opnfv added value features in form
52   of a fuel-plugin.Plugins listed in stack extensions are enabled and
53   configured. os-nosdn-kvm_ovs_dpdk-ha scenario currently uses KVM-1.0.0 plugin.
54
55 .. code:: bash
56
57    stack-extensions:
58       - module: fuel-plugin-kvm
59         module-config-name: fuel-nfvkvm
60         module-config-version: 1.0.0
61         module-config-override:
62           # Module config overrides
63
64 * ``dea-override-config:`` Used to configure the HA mode,network segmentation
65   types and role to node assignments.These configurations overrides
66   corresponding keys in the dea_base.yaml and dea_pod_override.yaml.
67   These keys are used to deploy multiple nodes(``3 controllers,2 computes``)
68   as mention below.
69
70   * **Node 1**:
71      - This node has MongoDB and Controller roles
72      - The controller node runs the Identity service, Image Service, management portions of
73        Compute and Networking, Networking plug-in and the dashboard
74      - Uses VLAN as an interface
75
76   * **Node 2**:
77      - This node has Ceph-osd 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      - Ceph is a massively scalable, open source, distributed storage system
81      - Uses VLAN as an interface
82
83   * **Node 3**:
84      - This node has Controller role in order to achieve high availability.
85      - Uses VLAN as an interface
86
87   * **Node 4**:
88      - This node has compute and Ceph-osd roles
89      - Ceph is a massively scalable, open source, distributed storage system
90      - By default, Compute uses KVM as the hypervisor
91      - Uses DPDK as an interface
92
93   * **Node 5**:
94      - This node has compute and Ceph-osd roles
95      - Ceph is a massively scalable, open source, distributed storage system
96      - By default, Compute uses KVM as the hypervisor
97      - Uses DPDK as an interface
98
99   The below is the ``dea-override-config`` of the ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml file.
100
101 .. code:: bash
102
103    dea-override-config:
104      fuel:
105        FEATURE_GROUPS:
106        - experimental
107      nodes:
108      - id: 1
109        interfaces: interfaces_1
110        role: controller
111      - id: 2
112        interfaces: interfaces_1
113        role: mongo,controller
114      - id: 3
115        interfaces: interfaces_1
116        role: ceph-osd,controller
117      - id: 4
118        interfaces: interfaces_dpdk
119        role: ceph-osd,compute
120        attributes: attributes_1
121      - id: 5
122        interfaces: interfaces_dpdk
123        role: ceph-osd,compute
124        attributes: attributes_1
125
126      attributes_1:
127        hugepages:
128          dpdk:
129            value: 1024
130          nova:
131            value:
132              '2048': 1024
133
134      settings:
135        editable:
136          storage:
137            ephemeral_ceph:
138              description: Configures Nova to store ephemeral volumes in RBD. This works best if Ceph is enabled for volumes and images, too. Enables live migration of all types of Ceph backed VMs (without this option, live migration will only work with VMs launched from Cinder volumes).
139              label: Ceph RBD for ephemeral volumes (Nova)
140              type: checkbox
141              value: true
142              weight: 75
143            images_ceph:
144              description: Configures Glance to use the Ceph RBD backend to store images. If enabled, this option will prevent Swift from installing.
145              label: Ceph RBD for images (Glance)
146              restrictions:
147              - settings:storage.images_vcenter.value == true: Only one Glance backend could be selected.
148              type: checkbox
149              value: true
150              weight: 30
151
152 * ``dha-override-config:`` Provides information about the VM definition and
153   Network config for virtual deployment.These configurations overrides
154   the pod dha definition and points to the controller,compute and
155   fuel definition files.
156
157   The below is the ``dha-override-config`` of the ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml file.
158
159 .. code:: bash
160
161    dha-override-config:
162      nodes:
163      - id: 1
164        libvirtName: controller1
165        libvirtTemplate: templates/virtual_environment/vms/controller.xml
166      - id: 2
167        libvirtName: controller2
168        libvirtTemplate: templates/virtual_environment/vms/controller.xml
169      - id: 3
170        libvirtName: controller3
171        libvirtTemplate: templates/virtual_environment/vms/controller.xml
172      - id: 4
173        libvirtName: compute1
174        libvirtTemplate: templates/virtual_environment/vms/compute.xml
175      - id: 5
176        libvirtName: compute2
177        libvirtTemplate: templates/virtual_environment/vms/compute.xml
178      - id: 6
179        libvirtName: fuel-master
180        libvirtTemplate: templates/virtual_environment/vms/fuel.xml
181        isFuel: yes
182        username: root
183        password: r00tme
184
185
186 * os-nosdn-kvm_ovs_dpdk-ha scenario is successful when all the 5 Nodes are accessible,
187   up and running.
188
189 **Note:**
190
191 * In os-nosdn-kvm_ovs_dpdk-ha 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 no-ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml
194
195 * Hugepages are only configured for compute nodes
196
197 * This results in faster communication and data transfer among the compute nodes
198
199 Scenario Usage Overview
200 -----------------------
201 .. Provide a brief overview on how to use the scenario and the features available to the
202 .. user.  This should be an "introduction" to the userguide document, and explicitly link to it,
203 .. where the specifics of the features are covered including examples and API's
204
205 * The high availability feature can be acheived by executing deploy.py with
206   ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml as an argument.
207 * Install Fuel Master and deploy OPNFV Cloud from scratch on Hardware
208   Environment:
209
210
211 Command to deploy the os-nosdn-kvm_ovs_dpdk-ha scenario:
212
213 .. code:: bash
214
215         $ cd ~/fuel/ci/
216         $ sudo ./deploy.sh -f -b file:///tmp/opnfv-fuel/deploy/config -l devel-pipeline -p default -s ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml -i file:///tmp/opnfv.iso
217
218 where,
219     -b is used to specify the configuration directory
220
221     -i is used to specify the image downloaded from artifacts.
222
223 **Note:**
224
225 .. code:: bash
226
227           Check $ sudo ./deploy.sh -h for further information.
228
229 * os-nosdn-kvm_ovs_dpdk-ha scenario can be executed from the jenkins project
230   "fuel-os-nosdn-kvm_ovs_dpdk-ha-baremetal-daily-master"
231 * This scenario provides the High Availability feature by deploying
232   3 controller,2 compute nodes and checking if all the 5 nodes
233   are accessible(IP,up & running).
234 * Test Scenario is passed if deployment is successful and all 5 nodes have
235   accessibility (IP , up & running).
236
237 Known Limitations, Issues and Workarounds
238 -----------------------------------------
239 .. Explain any known limitations here.
240
241 * Test scenario os-nosdn-kvm_ovs_dpdk-ha result is not stable.
242
243 References
244 ----------
245
246 For more information on the OPNFV Danube release, please visit
247 http://www.opnfv.org/Danube