Updated flavor description to much higher, added property to image
* Updated flavor: to 10vCPUs, 4096 RAM, 20GB disk.
* Added parameter to set the image property:
hw_vif_multiqueue_enabled='True' for better 10 threads results.
Related-PROD: PROD-36943
Change-Id: Ib0131bce3536b358303339f14c73456ae4f4ff90
diff --git a/README.md b/README.md
index 072e0ee..86e6521 100644
--- a/README.md
+++ b/README.md
@@ -29,25 +29,26 @@
* **test_vm2vm and test_vm2vm_different_routers** allow next overrides:
-| Environment Variable | Default | Description |
-|--------------------------------|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| flavor_name | spt-test | Flavor name |
-| flavor_ram | 1536 | To define RAM allocation for specific flavor, MB |
-| flavor_vcpus | 1 | To define a count of vCPU for flavor |
-| flavor_disk | 5 | To define a count of disks on flavor, GB |
-| image_name | cvp.ubuntu.2004 | Cloud Ubuntu image to create VMs. Use 20.04 image in case internet_at_vms=false since the offline packages are set for Ubuntu 20.04. You can use any other Ubuntu image in case internet_at_vms=true. |
-| CMP_HOSTS | [] | Pair of compute hosts to create VMs at different hosts. By default, some random pair from nova compute list will be selected. To set some pair, set _CMP_HOSTS: ["cmp001", "cmp002"]_ in _global_config.yaml_ file. |
-| skipped_nodes | [] | Skip some compute hosts, so they are not selected at CMP_HOSTS pair. To set some nodes to skip, set _skipped_nodes: ["cmp003"]_ in _global_config.yaml_ file. Applies the hw2hw test as well. |
-| nova_timeout | 300 | Timeout to VM to be ACTIVE, seconds. |
-| external_network | public | External network name to allocate the Floating IPs |
-| custom_mtu | default | The MTU to set at the VMs. If "default" is set, the MTU will be set automatically from the newly created SPT internal networks. The default value in the networks comes from the Neutron configuration. In case you want to test the bandwidth with some specific custom MTU, set the value like 8950. |
-| ssh_timeout | 500 | Timeout to VM to be reachable via SSH, seconds. |
-| iperf_prep_string | "sudo /bin/bash -c 'echo \"91.189.88.161 archive.ubuntu.com\" >> /etc/hosts'" | Preparation string to set ubuntu repository host in /etc/hosts of VMs. |
-| internet_at_vms | 'true' | In case True, the Internet is present at VMs, and the tests are able to install iperf3 by _apt update; apt install iperf3_. In case VMs have no Internet, set 'false' and the iperf3 will be installed from offline *.deb packages. |
-| iperf_deb_package_dir_path | /opt/packages/ | Path to the local directory where the iperf3 *.deb packages are present. In the toolset offline images they are located at /opt/packages. Or you can download iperf3 deb package and its dependencies and put them at some custom folder. |
-| iperf_time | 60 | iperf3 -t option value: time in seconds to transmit for (iperf -t option). Applies the hw2hw test as well. |
-| multiple_threads_number | 10 | Number of iperf/iperf3 parallel client threads to run (iperf3/iperf -P option value). Applies the hw2hw test as well. |
-| multiple_threads_iperf_utility | 'iperf' | The tool for bandwidth measurements. Options to set: 'iperf' to use v2 and 'iperf3' to use v3. Eventually, this is the name of the utility that is installed at Ubuntu VMs from apt. Applies the hw2hw test as well. |
+| Environment Variable | Default | Description |
+|----------------------------------------|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| flavor_name | spt-test | Flavor name |
+| flavor_ram | 1536 | To define RAM allocation for specific flavor, MB |
+| flavor_vcpus | 1 | To define a count of vCPU for flavor |
+| flavor_disk | 5 | To define a count of disks on flavor, GB |
+| image_name | cvp.ubuntu.2004 | Cloud Ubuntu image to create VMs. Use 20.04 image in case internet_at_vms=false since the offline packages are set for Ubuntu 20.04. You can use any other Ubuntu image in case internet_at_vms=true. |
+| add_hw_vif_multiqueue_enabled_to_image | 'true' | Where to add hw_vif_multiqueue_enabled='True' property to the cloud Cloud Ubuntu Image. It is recommended with 10 vCPUs flavor to get better 10 threads results. |
+| CMP_HOSTS | [] | Pair of compute hosts to create VMs at different hosts. By default, some random pair from nova compute list will be selected. To set some pair, set _CMP_HOSTS: ["cmp001", "cmp002"]_ in _global_config.yaml_ file. |
+| skipped_nodes | [] | Skip some compute hosts, so they are not selected at CMP_HOSTS pair. To set some nodes to skip, set _skipped_nodes: ["cmp003"]_ in _global_config.yaml_ file. Applies the hw2hw test as well. |
+| nova_timeout | 300 | Timeout to VM to be ACTIVE, seconds. |
+| external_network | public | External network name to allocate the Floating IPs |
+| custom_mtu | default | The MTU to set at the VMs. If "default" is set, the MTU will be set automatically from the newly created SPT internal networks. The default value in the networks comes from the Neutron configuration. In case you want to test the bandwidth with some specific custom MTU, set the value like 8950. |
+| ssh_timeout | 500 | Timeout to VM to be reachable via SSH, seconds. |
+| iperf_prep_string | "sudo /bin/bash -c 'echo \"91.189.88.161 archive.ubuntu.com\" >> /etc/hosts'" | Preparation string to set ubuntu repository host in /etc/hosts of VMs. |
+| internet_at_vms | 'true' | In case True, the Internet is present at VMs, and the tests are able to install iperf3 by _apt update; apt install iperf3_. In case VMs have no Internet, set 'false' and the iperf3 will be installed from offline *.deb packages. |
+| iperf_deb_package_dir_path | /opt/packages/ | Path to the local directory where the iperf3 *.deb packages are present. In the toolset offline images they are located at /opt/packages. Or you can download iperf3 deb package and its dependencies and put them at some custom folder. |
+| iperf_time | 60 | iperf3 -t option value: time in seconds to transmit for (iperf -t option). Applies the hw2hw test as well. |
+| multiple_threads_number | 10 | Number of iperf/iperf3 parallel client threads to run (iperf3/iperf -P option value). Applies the hw2hw test as well. |
+| multiple_threads_iperf_utility | 'iperf' | The tool for bandwidth measurements. Options to set: 'iperf' to use v2 and 'iperf3' to use v3. Eventually, this is the name of the utility that is installed at Ubuntu VMs from apt. Applies the hw2hw test as well. |
In case _internet_at_vms=false_, please make sure that _iperf_deb_package_dir_path_ is set correctly and has iperf3 deb package and its dependencies.
diff --git a/fixtures/base.py b/fixtures/base.py
index 076fa3c..839080d 100644
--- a/fixtures/base.py
+++ b/fixtures/base.py
@@ -53,6 +53,7 @@
flavor_ram = config.get('flavor_ram', 1536)
flavor_vcpus = config.get('flavor_vcpus', 1)
flavor_disk = config.get('flavor_disk', 3)
+ add_hw_vif_multiqueue_enabled_to_image = config.get('add_hw_vif_multiqueue_enabled_to_image', "true")
os_images_list = [image.id for image in
openstack_clients.image.images.list(
@@ -61,6 +62,12 @@
if os_images_list.__len__() == 0:
pytest.skip("No images with name {}. This name can be redefined "
"with 'image_name' env var ".format(image_name))
+
+ if add_hw_vif_multiqueue_enabled_to_image.lower() == "true":
+ logger.info("Adding hw_vif_multiqueue_enabled=true property to image...")
+ openstack_clients.image.images.update(os_images_list[0],
+ hw_vif_multiqueue_enabled = "true")
+
os_resource['image_id'] = str(os_images_list[0])
flavor_id = os_actions.get_flavor_id_by_name(flavor_name)
if flavor_id is None:
@@ -156,6 +163,7 @@
flavor_ram = config.get('flavor_ram', 1536)
flavor_vcpus = config.get('flavor_vcpus', 1)
flavor_disk = config.get('flavor_disk', 3)
+ add_hw_vif_multiqueue_enabled_to_image = config.get('add_hw_vif_multiqueue_enabled_to_image', "true")
os_images_list = [image.id for image in
openstack_alt_clients.image.images.list(
filters={'name': image_name})]
@@ -163,6 +171,10 @@
if os_images_list.__len__() == 0:
pytest.skip("No images with name {}. This name can be redefined "
"with 'image_name' env var ".format(image_name))
+ if add_hw_vif_multiqueue_enabled_to_image.lower() == "true":
+ logger.info("Adding hw_vif_multiqueue_enabled=true property to image...")
+ openstack_alt_clients.image.images.update(os_images_list[0],
+ hw_vif_multiqueue_enabled = "true")
os_resource_alt_project['image_id'] = str(os_images_list[0])
flavor_id = alt_os_actions.get_flavor_id_by_name(flavor_name)
diff --git a/global_config.yaml b/global_config.yaml
index 463cf90..37f1abf 100644
--- a/global_config.yaml
+++ b/global_config.yaml
@@ -4,11 +4,12 @@
# parameters for vm2vm tests
CMP_HOSTS: []
-image_name: "cvp.ubuntu.2004" # Use Ubuntu 20.04 LTS image
+image_name: "cvp.ubuntu.2004" # Use Ubuntu 20.04 LTS image with hw_vif_multiqueue_enabled='True' property
+add_hw_vif_multiqueue_enabled_to_image: "true"
flavor_name: "spt-test"
-flavor_ram: 1536
-flavor_vcpus: 1
-flavor_disk: 5
+flavor_ram: 4096
+flavor_vcpus: 10
+flavor_disk: 20
nova_timeout: 300
external_network: "public"
custom_mtu: 'default' # 'default' or some value like 8950