1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
3 .. http://creativecommons.org/licenses/by/4.0
9 .. In this section explain the purpose of the scenario and the
10 types of capabilities provided
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.
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.
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.
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
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)
36 * ``deployment-scenario-metadata:`` Contains the configuration metadata like
37 title,version,created,comment.
41 deployment-scenario-metadata:
42 title: NFV KVM and OVS-DPDK HA deployment
45 comment: NFV KVM and OVS-DPDK
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.
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
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``)
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.
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.
81 * **Node 3**: This node has Controller role in order to achieve high
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.
88 * **Node 5**: This node has compute role.
90 The below is the ``dea-override-config`` of the ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml file.
100 interfaces: interfaces_1
103 interfaces: interfaces_1
104 role: mongo,controller
106 interfaces: interfaces_1
107 role: ceph-osd,controller
109 interfaces: interfaces_dpdk
110 role: ceph-osd,compute
111 attributes: attributes_1
113 interfaces: interfaces_dpdk
114 role: ceph-osd,compute
115 attributes: attributes_1
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)
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)
138 - settings:storage.images_vcenter.value == true: Only one Glance backend could be selected.
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.
148 The below is the ``dha-override-config`` of the ha_nfv-kvm_nfv-ovs-dpdk_heat_ceilometer_scenario.yaml file.
155 libvirtName: controller1
156 libvirtTemplate: templates/virtual_environment/vms/controller.xml
158 libvirtName: controller2
159 libvirtTemplate: templates/virtual_environment/vms/controller.xml
161 libvirtName: controller3
162 libvirtTemplate: templates/virtual_environment/vms/controller.xml
164 libvirtName: compute1
165 libvirtTemplate: templates/virtual_environment/vms/compute.xml
167 libvirtName: compute2
168 libvirtTemplate: templates/virtual_environment/vms/compute.xml
170 libvirtName: fuel-master
171 libvirtTemplate: templates/virtual_environment/vms/fuel.xml
177 * os-nosdn-kvm_ovs_dpdk-ha scenario is successful when all the 5 Nodes are accessible,
184 * In os-nosdn-kvm_ovs_dpdk-ha scenario, OVS is installed on the compute nodes with DPDK configured
186 * This results in faster communication and data transfer among the compute nodes
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
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
201 Command to deploy the os-nosdn-kvm_ovs_dpdk-ha scenario:
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
209 -b is used to specify the configuration directory
211 -i is used to specify the image downloaded from artifacts.
217 Check $ sudo ./deploy.sh -h for further information.
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).
227 Known Limitations, Issues and Workarounds
228 =========================================
229 .. Explain any known limitations here.
231 * Test scenario os-nosdn-kvm_ovs_dpdk-ha result is not stable.
233 * As Functest and Yardstick test suites are not stable. Instances are not getting IP address from DHCP (functest issue).
239 For more information on the OPNFV Danube release, please visit
240 http://www.opnfv.org/Danube