Added a new workload in browbeat, where in it runs fio
benchmarks against vms attached with cinder volumes(backed by ceph)
and collects the results
Change-Id: I3bfe96fcf3242a0f88c50be35fe9d6368910fab8
With [1] included running octavia scenarios
fails with:-
TypeError: create_clients() takes 6 positional arguments
but 8 were given
This patch renames the octavia specific method to
avoid clases with the inherited method.
[1] https://review.opendev.org/c/x/browbeat/+/860530
Change-Id: If9f763d528308ca83f70fb83b8787935c28b3c07
This patch adds a workload which boots VMs with the following specifications.
1. On non-NFV compute nodes : 1 port in a tenant network, 1 port in a provider network
2. On DPDK compute nodes: 1 SR-IOV/tenant network port, 1 DPDK port
3. On OvS Hardware Offload compute nodes: 1 SR-IOV/tenant network port, 1 Hardware Offload port
Change-Id: I76d468c333f919219db9525f0df2ac911f1a719f
This patch adds a parameter in browbeat-config.yaml for the
number of tenants to use in nova_boot_in_batches_with_delay.
This is required in scale testing.
Change-Id: Ic7ca0b55a106251390e8e2987774a1c442d0d1fe
A subnet quota is required for heat scenarios. This patch fixes the
issues faced at scale because of no subnet quota.
Change-Id: I5ec6b28339abc78cb9eec50b49b8593d93b72f88
Dynamic workloads has an option all in browbeat-config.yaml,
which doesn't really makes sense because it runs only VM and trunk
dynamic workloads. This patch replaces all with an option called
all_vm_and_trunk, for better readability.
Change-Id: I9e3a73a9fb98fe46c830ad56b6a3cdd4a8c2b863
nova-boot-from-volume-and-resize was missing quotas for volumes,
causing it to fail at scale. This patch fixes the issue.
Change-Id: I25c9074306e0d258600e64446036c196ae1986f0
dynamic-workloads-min was failing because of recent changes
to Nova API version pinning. This patch fixes the issue.
Change-Id: Ie9e906a69187d0483680e85dc0ed7310111715f4
This patch makes the following changes.
1. Provider network dynamic workloads perform operations
only on the provider networks created by dynamic workloads
and not rally context external networks.
2. Locks have been incorporated into the provider networks
dynamic workloads code in order to prevent race conditions.
Closes-Bug: #1993527
Change-Id: If891b83517aa442e3594e84ec70e95d44a8d8fd4
This patch refactors the stress-ng workload code
to make it easier to integrate with dynamic workloads.
A parameter has been added for nova_api_version as this is required
in dynamic workloads to use tags for VMs.
The file stress-ng.py has been renamed to stress_ng.py
and stress-ng.yml to stress_ng.yml, in order to adhere to Python
module naming conventions. Without this change, a syntax error occurs
while importing the module. Common code that can be used for dynamic
workloads has been moved to a new file called stress_ng_utils.py.
Browbeat results and logs :
http://perfscale.perf.lab.eng.bos.redhat.com/pub/schari/browbeat_logs/stressng_refactoring/
Change-Id: Ifdcdd1e91658f48d6b19275446f1fb3df4e9575f
This patch moves the pinning of Nova API version to
2.52(required for tags) from the Python code to the rally
yaml specification file. This reduces duplication of code
from Rally and makes it easier to maintain in the future.
Browbeat logs and results :
http://perfscale.perf.lab.eng.bos.redhat.com/pub/schari/browbeat_logs/nova_api_version/
Change-Id: I2c9535da355c343949ddef44274035b1b590ef75
The browbeat stressng workload reports an error in the logs
while running the stressng command, even though the output of
the stressng command reports that it has executed successfully[1].
This happens in all iterations. Also, the iteration ends with END: OK
even if there happens to be a genuine error in executing the command.
This patch fixes these 2 issues by checking the exitcode of the stressng
command and raising an exception if it is nonzero.
[1] https://privatebin.corp.redhat.com/?dc09ee175a9ee377#37vYuNmR4CF2Hc3ghjcggXeW1EHY5WXDH5PB9Wb5sBoZ
Change-Id: I0d49ee6f80e4ae9b2946c67e8689daaccb200b1d
This patch introduces a new workload called "ocp_on_osp".
This workload installs Openshift cluster on Openstack as
a part of Dynamic Workloads.
Change-Id: I5c0a1ef04bf0e82563e7d17fdd9688f938d1e33f
This patch adds a workload which creates provider networks as part
of Rally context, and boots VMs on the provider networks in round
robin order.
Co-authored-by: Jaison Raju <jraju@redhat.com>
Change-Id: I00999c81eaf78bbd72933df524bf55cf452d40fc
This patch adds support for the scenario boot_vm_attach_detach_volume
- Boots a VM
- Waits for the VM to be pingable
- Creates a Volume
- Attaches the Volume to VM, then
- Detaches the Volume from VM
- Deletes the VM
Change-Id: I37a1a6d5a661973b1b249045f9261316c380f7e6
This patch adds a parameter in dynamic workloads for the cidr prefix of
the multiple external networks that are created as part of rally context.
This cidr prefix was hardcoded as 172.31 before, but it should be accepted
as a parameter from the user.
Change-Id: I51a0dd34cb8090cb3ba3afa391c36fc29911ce0e
The aim of this patch is to not only spawn a bunch of
vm's but also run some stress test inside the vm's.The
patch creates jumphost on network with fip and all
other vm's on the same neutron network so that jumphost
can access the other vm's and run the stress tests.
You need to set the following params to run this plugin:
- specify the external network in browbeat-config.yaml
- In the group_vars/all.yml install_browbeat_workloads: true,
browbeat_network, in browbeat-workloads enable stress-ng
Change-Id: Ica15af5de0c60916fd89661fb411e4bd10382b8f
This patch fixes the issue with the gateway and CIDR
ranges in rally context external networks that
are used in trunk dynamic workloads and VM dynamic
workloads. Previously, rally was creating subnets
with different CIDRs than the network interfaces on the
undercloud. Also, we were providing an incorrect IP
as the gateway for the network interface. These two issues
are fixed in this patch.
Change-Id: I5d14d2ed2ad4b54fc82b37009223d16fee5d9454
This Scenario:
- create NFS share
- launch VM
- Attach provider network (StorageNFS) to VM
- authorize VM's ip (StorageNFS) to access the share
- mount the share inside the VM
- write to share
- delete VM
- delete share
In the browbeat-config.yaml, the user needs to provide the
network id of the provider network(StorageNFS network)
and external network.
Change-Id: I6febed2168a1a5e38569500ddb4dbcfa5b1c097b
In the swap floating IPs between random servers dynamic workload,
port id of a floating IP is set to None before swapping. These
floating IPs should not be in the list of eligible floating IPs
for swapping in other iterations.
Change-Id: I268e752bbf3dd66f1eaa2b0793383b7d6123e2ae
This patch reduces ssh connections in trunk dynamic workloads,
by making one workload use only one ssh connection, that is
created during the execution of the workload.
Change-Id: I9aaf0ec5406d77f7c706f462997b1fecf067ef5f
The netcreate_nova_boot_test_metadata scenario doesn't have quotas
defined, due to which it fails at scale. This patch adds quotas
for the netcreate_nova_boot_test_metadata scenario.
Change-Id: I572862b5c18c9a0b16b155c57f50fe063389573f
This patch fixes a bug in Rally HTML charts that occurs
when the number of times an atomic action occurs across
iterations is uneven.
Closes-Bug: 1956084
Change-Id: I10c2e2ddd882345011824ef2fafd1beb2433778c