7090ccdd6819629bc54f5ea76e848a2fedb9a49c
[kvmfornfv.git] / docs / scenarios / os-nosdn-kvm_nfv_ovs_dpdk_bar-ha / os-nosdn-kvm_nfv_ovs_dpdk_bar-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_bar-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-bar_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_bar-ha) and an actual deployment
34   scenario configuration file(ha_nfv-kvm_nfv-ovs-dpdk-bar_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_bar-ha scenario currently uses KVM-1.0.0 plugin and barometer 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      - module: fuel-plugin-collectd-ceilometer
60        module-config-name: fuel-barometer
61        module-config-version: 1.0.0
62        module-config-override:
63          # Module config overrides
64
65
66 * ``dea-override-config:`` Used to configure the HA mode,network segmentation
67   types and role to node assignments.These configurations overrides
68   corresponding keys in the dea_base.yaml and dea_pod_override.yaml.
69   These keys are used to deploy multiple nodes(``3 controllers,2 computes``)
70   as mention below.
71
72   * **Node 1**: This node has MongoDB and Controller roles. The controller
73     node runs the Identity service, Image Service, management portions of
74     Compute and Networking, Networking plug-in and the dashboard. The
75     Telemetry service which was designed to support billing systems for
76     OpenStack cloud resources uses a NoSQL database to store information.
77     The database typically runs on the controller node.
78
79   * **Node 2**: This node has Controller and Ceph-osd roles. Ceph is a
80     massively scalable, open source, distributed storage system. It is
81     comprised of an object store, block store and a POSIX-compliant distributed
82     file system. Enabling Ceph,  configures Nova to store ephemeral volumes in
83     RBD, configures Glance to use the Ceph RBD backend to store images,
84     configures Cinder to store volumes in Ceph RBD images and configures the
85     default number of object replicas in Ceph.
86
87   * **Node 3**: This node has Controller role in order to achieve high
88     availability.
89
90   * **Node 4**: This node has Compute role. The compute node runs the
91     hypervisor portion of Compute that operates tenant virtual machines
92     or instances. By default, Compute uses KVM as the hypervisor.
93
94   * **Node 5**: This node has compute role.
95
96   The below is the ``dea-override-config`` of the ha_nfv-kvm_nfv-ovs-dpdk-bar_heat_ceilometer_scenario.yaml file.
97
98 .. code:: bash
99
100    dea-override-config:
101      fuel:
102        FEATURE_GROUPS:
103        - experimental
104      nodes:
105      - id: 1
106        interfaces: interfaces_1
107        role: controller
108      - id: 2
109        interfaces: interfaces_1
110        role: mongo,controller
111      - id: 3
112        interfaces: interfaces_1
113        role: ceph-osd,controller
114      - id: 4
115        interfaces: interfaces_dpdk
116        role: ceph-osd,compute
117        attributes: attributes_1
118      - id: 5
119        interfaces: interfaces_dpdk
120        role: ceph-osd,compute
121        attributes: attributes_1
122
123      attributes_1:
124        hugepages:
125          dpdk:
126            value: 1024
127          nova:
128            value:
129              '2048': 1024
130
131      settings:
132        editable:
133          storage:
134            ephemeral_ceph:
135              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).
136              label: Ceph RBD for ephemeral volumes (Nova)
137              type: checkbox
138              value: true
139              weight: 75
140            images_ceph:
141              description: Configures Glance to use the Ceph RBD backend to store images. If enabled, this option will prevent Swift from installing.
142              label: Ceph RBD for images (Glance)
143              restrictions:
144              - settings:storage.images_vcenter.value == true: Only one Glance backend could be selected.
145              type: checkbox
146              value: true
147              weight: 30
148
149 * ``dha-override-config:`` Provides information about the VM definition and
150   Network config for virtual deployment.These configurations overrides
151   the pod dha definition and points to the controller,compute and
152   fuel definition files.
153
154   The below is the ``dha-override-config`` of the ha_nfv-kvm_nfv-ovs-dpdk-bar_heat_ceilometer_scenario.yaml file.
155
156 .. code:: bash
157
158    dha-override-config:
159      nodes:
160      - id: 1
161        libvirtName: controller1
162        libvirtTemplate: templates/virtual_environment/vms/controller.xml
163      - id: 2
164        libvirtName: controller2
165        libvirtTemplate: templates/virtual_environment/vms/controller.xml
166      - id: 3
167        libvirtName: controller3
168        libvirtTemplate: templates/virtual_environment/vms/controller.xml
169      - id: 4
170        libvirtName: compute1
171        libvirtTemplate: templates/virtual_environment/vms/compute.xml
172      - id: 5
173        libvirtName: compute2
174        libvirtTemplate: templates/virtual_environment/vms/compute.xml
175      - id: 6
176        libvirtName: fuel-master
177        libvirtTemplate: templates/virtual_environment/vms/fuel.xml
178        isFuel: yes
179        username: root
180        password: r00tme
181
182
183 * os-nosdn-kvm_ovs_dpdk_bar-ha scenario is successful when all the 5 Nodes are accessible, up and running.
184
185
186 **Note:**
187
188 * In os-nosdn-kvm_ovs_dpdk_bar-ha scenario, OVS is installed on the compute nodes with DPDK configured
189
190 * Baraometer plugin is also implemented along with KVM plugin
191
192 * This results in faster communication and data transfer among the compute nodes
193
194
195 Scenario Usage Overview
196 =======================
197 .. Provide a brief overview on how to use the scenario and the features available to the
198 .. user.  This should be an "introduction" to the userguide document, and explicitly link to it,
199 .. where the specifics of the features are covered including examples and API's
200
201 * The high availability feature can be acheived by executing deploy.py with
202   ha_nfv-kvm_nfv-ovs-dpdk-bar_heat_ceilometer_scenario.yaml as an argument.
203 * Install Fuel Master and deploy OPNFV Cloud from scratch on Hardware
204   Environment:
205
206
207 Command to deploy the os-nosdn-kvm_ovs_dpdk_bar-ha scenario:
208
209 .. code:: bash
210
211         $ cd ~/fuel/ci/
212         $ sudo ./deploy.sh -f -b file:///tmp/opnfv-fuel/deploy/config -l devel-pipeline -p default -s no-ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml -i file:///tmp/opnfv.iso
213
214 where,
215     -b is used to specify the configuration directory
216
217     -i is used to specify the image downloaded from artifacts.
218
219 Note:
220
221 .. code:: bash
222
223          Check $ sudo ./deploy.sh -h for further information.
224
225 * os-nosdn-kvm_ovs_dpdk_bar-ha scenario can be executed from the jenkins project
226   "fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-baremetal-daily-master"
227 * This scenario provides the High Availability feature by deploying
228   3 controller,2 compute nodes and checking if all the 5 nodes
229   are accessible(IP,up & running).
230 * Test Scenario is passed if deployment is successful and all 5 nodes have
231   accessibility (IP , up & running).
232
233 Known Limitations, Issues and Workarounds
234 =========================================
235 .. Explain any known limitations here.
236
237 * Test scenario os-nosdn-kvm_ovs_dpdk_bar-ha result is not stable.
238
239 * As Functest and Yardstick test suites are not stable. Instances are not getting IP address from DHCP (functest issue).
240
241
242 References
243 ==========
244
245 For more information on the OPNFV Danube release, please visit
246 http://www.opnfv.org/Danube