Commit Graph

219 Commits

Author SHA1 Message Date
Asma Syed Hameed fe6edac954 create-list-security-group: set the quota for security_group_rule
Change-Id: Ic140d962a4b8fc43816efd24256b2497bd29ce34
2023-10-20 11:12:36 +05:30
Zuul b454d258ed Merge "Storage Automation with Pbench-fio" 2023-09-29 06:31:14 +00:00
rajeshP524 03f1300e2e Storage Automation with Pbench-fio
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
2023-09-28 14:47:41 +05:30
yatinkarel baf3716ae9 Rename create_clients method for octavia
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
2023-09-12 12:40:38 +00:00
Zuul 99512c928e Merge "Add workload for Hybrid Computes" 2023-07-06 03:58:45 +00:00
Sanjay Chari 04032a49ab Add workload for Hybrid Computes
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
2023-07-05 14:50:02 +05:30
Sanjay Chari 6743c29f90 Dynamic Workloads : Add stress-ng
This patch adds the stress-ng workload to dynamic workloads.
Multiple client VMs are created in each iteration and stress-ng
is run on the client VMs from a jumphost created on the same network.

Depends-On: https://review.opendev.org/c/x/browbeat/+/860226
Depends-On: https://review.opendev.org/c/x/browbeat/+/860202
Change-Id: I16bb8e1d2760e0b433cdc0fb469b6cb65ca70b82
2023-07-05 14:47:19 +05:30
Asma Syed Hameed 130efe53d4 octavia workloads: Increase the cidr to /16
The default cidr /24 is not sufficient for scale testing.
Setting the cidr to /16

Change-Id: Icf4e2702560b4019f12bea2501562ce85e9b29f7
2023-05-11 14:38:58 +05:30
Sanjay Chari 6fc3f0fe75 Add num_tenants to nova_boot_in_batches_with_delay
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
2022-12-05 18:08:27 +05:30
Zuul f3fc851492 Merge "Refactor stress-ng workload" 2022-11-28 11:28:20 +00:00
Sanjay Chari 78353343be Dynamic Workloads: Fix stop_start_servers
Closes-Bug: #1997353
Change-Id: Iea8da816e1b9c34627248f8e6f26cc3aaf044036
2022-11-22 15:35:30 +05:30
Sanjay Chari 56f4af4562 Fix quotas for heat scenarios
A subnet quota is required for heat scenarios. This patch fixes the
issues faced at scale because of no subnet quota.

Change-Id: I5ec6b28339abc78cb9eec50b49b8593d93b72f88
2022-11-18 17:30:52 +05:30
Zuul 7cc0532013 Merge "Remove option all in dynamic workloads" 2022-11-18 07:56:40 +00:00
Zuul 02d5663f9f Merge "Octavia dynamic workloads : Enhance logging" 2022-11-18 05:43:16 +00:00
Sanjay Chari b20acab937 Remove option all in dynamic workloads
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
2022-11-18 11:11:01 +05:30
Sanjay Chari 2e5ad153da Fix quotas for nova-boot-from-volume-and-resize
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
2022-11-18 10:03:31 +05:30
Sanjay Chari dbc84267c3 Fix Dynamic Workloads Min
dynamic-workloads-min was failing because of recent changes
to Nova API version pinning. This patch fixes the issue.

Change-Id: Ie9e906a69187d0483680e85dc0ed7310111715f4
2022-11-15 16:39:29 +05:30
Zuul 0d9d4df9f4 Merge "Dynamic Workloads:Enhance Nova API Version Pinning" 2022-11-11 07:27:04 +00:00
Sanjay Chari 9369883efa Octavia dynamic workloads : Enhance logging
This patch enhances logging for Octavia dynamic workloads for
easier debugging of issues.

Change-Id: I6e5b45605b3854c069c5102e25685ebbdbee949d
2022-11-09 12:00:08 +05:30
Sanjay Chari 8903bb84a4 Dynamic Workloads: Fix provider networks
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
2022-10-28 08:26:14 +00:00
Sanjay Chari 9c70924dc3 Refactor stress-ng workload
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
2022-10-07 12:16:20 +05:30
Sanjay Chari 95b67935df Dynamic Workloads:Enhance Nova API Version Pinning
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
2022-10-06 15:33:19 +05:30
Sanjay Chari 62650d6652 stressng : Improve error handling
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
2022-10-03 17:00:05 +05:30
Zuul 0ed5a8d0bc Merge "Install Ocp on Osp" 2022-09-23 07:34:54 +00:00
rajeshP524 0ae5a7cebc Install Ocp on Osp
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
2022-09-22 13:28:31 +05:30
Zuul e10f2a1881 Merge "Add nova_boot_from_context_provider_networks_ping workload" 2022-09-19 06:58:09 +00:00
Sanjay Chari 68f7a46722 Add nova_boot_from_context_provider_networks_ping workload
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
2022-09-19 11:44:31 +05:30
Zuul 61dc15961e Merge "Add swift Scenarios - create-container-and-object-then-delete-all - create-container-and-object-then-list-objects - list-objects-in-containers" 2022-08-22 06:50:34 +00:00
Asma Syed Hameed c5261e1fd0 Add swift Scenarios
- create-container-and-object-then-delete-all
- create-container-and-object-then-list-objects
- list-objects-in-containers

Change-Id: Ib0acf997f55504515f0de37056afc0d724ada58e
2022-08-19 11:29:40 +05:30
Sanjay Chari c00ff2d45a Add nova_boot_in_batches_with_delay workload
This patch adds a workload which adds a delay
after booting a given number of servers.

Change-Id: Icb92782d487a67f146c395c03a86034418ff9dc7
2022-07-29 10:39:16 +05:30
Asma Syed Hameed 96ce2c8686 Add boot_vm_attach_detach_volume scenario
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
2022-07-13 15:29:53 +05:30
rajeshP524 36a2d685d8 made changes that are required for openstack-rally-2.2.0
Change-Id: I651f32f7264eda20dabd6022cbb47eac38492856
2022-07-08 13:59:50 +05:30
Sanjay Chari 7e45cad2a1 Add cidr prefix parameter in dynamic workloads
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
2022-06-22 10:51:51 +05:30
Asma Syed Hameed 71dda2027f Fix quotas create-and-list-snapshots scenario
Change-Id: I6be1b18a94bcb7c09fd1b1dce5007b46aa8f4232
2022-04-29 13:19:40 +05:30
Asma Syed Hameed 934eaf78af Add stress-ng plugin to run workloads within vms
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
2022-03-29 15:58:58 +05:30
Zuul f6b24967d6 Merge "Fix Rally context external networks" 2022-03-16 10:38:12 +00:00
Sanjay Chari a02aa122a6 Fix Rally context external networks
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
2022-03-11 14:38:31 +05:30
Asma Syed Hameed a217af06f7 Create a NFS share and Access it from the VM
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
2022-03-11 07:52:06 +00:00
Sanjay Chari f1917c2167 Fix in VM dynamic workloads
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
2022-02-24 18:02:29 +05:30
rajeshP524 0f64a144c8 added quota limits to cinder scenarios
Change-Id: Ie8f94cdcfb038bc2efa4ed410022e5bac9a07637
2022-02-21 18:42:23 +05:30
Zuul 90f3a06ed5 Merge "Added heat scenarios from rally" 2022-02-10 13:44:57 +00:00
Sanjay Chari fb4880c794 Trunk Dynamic Workloads: Reduce ssh connections
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
2022-02-09 16:42:12 +05:30
Sanjay Chari 4102d717d2 Add quotas for netcreate_nova_boot_test_metadata
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
2022-02-07 17:23:43 +05:30
rajeshP524 7e6e68699c Added heat scenarios from rally
Change-Id: Iaf37b8c8f77a1d14a932df87f65bf9c62cc70010
2022-02-04 19:13:59 +05:30
Asma Syed Hameed 972835d4e0 Manila: Add scenario to create share and and allow and deny access to it
Change-Id: Ie247bb419325761ff80c83cb7b85518dc71f0d13
2022-02-01 18:06:11 +05:30
Zuul 2ff59ef4c8 Merge "Add manila workload scenarios" 2022-02-01 09:30:18 +00:00
Zuul 0e2a6bc9ce Merge "Fix in Rally HTML charts" 2022-01-31 12:00:55 +00:00
Sanjay Chari eba643b89c Fix in Rally HTML charts
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
2022-01-25 16:39:59 +05:30
Asma Syed Hameed 4e99f1d424 Add manila workload scenarios
- create-share-network-and-list
- create-share-network-and-delete
- create-share-and-shrink
- create-share-and-extend

Change-Id: I9e3ec0ed0bd8a5a7f8801f29a80c97ad77d0991a
2022-01-25 12:21:35 +05:30
Asma Syed Hameed 82c6412cec Fix the conditional check
Change-Id: I5f8a1593ab22071d2016908ea1bc96169b1cc862
2022-01-24 18:10:38 +05:30