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