Commit Graph

1786 Commits

Author SHA1 Message Date
yatinkarel 0024927764 Pin testtools < 2.7.0
Since [1] fixtures is not installed with testtools which
is required by rally. Until rally/testtools is fixed let's pin
testtools version to the working one.

[1] https://github.com/testing-cabal/testtools/commit/f74eec60

Related-Bug: #2042910
Change-Id: I9ed0c5fcf38fb994c71fc0d1a257cd7c26a56ec8
2023-11-07 13:50:53 +05:30
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 fd99fccfaf Merge "Fix when condition for role execution" 2023-10-17 07:07:03 +00:00
yatinkarel 4822357e2b Fix when condition for role execution
Add the missing bool filter to the boolean variables
for role execution. Without it string "true" and
"false" are considered true.

Change-Id: I085942ff0a706c5de9bc7abfbd6ed576e3b8fcf8
2023-10-10 18:56:24 +05:30
Zuul 2d64f5eb88 Merge "Fix IOStat grafana panels to read correct data" 2023-10-06 07:51:38 +00:00
rajeshP524 98aee20ca6 Fix IOStat grafana panels to read correct data
Change-Id: I426a5b66af8e223d9540347c6e22efaa6e4d4f81
2023-10-05 12:16:16 +05:30
rajeshP524 6757b493ba Fix mysql password retrieval on the Undercloud
Change-Id: Iab92449ae7f26324756890d1044d17e99871319b
2023-10-05 05:09:02 +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 6b19d3a7fc [octavia] Fix custom image preparation
Added octavia_test_bin_download_cmd variable to
allow using different command for test_bin file
download, like:-
octavia_test_bin_download_cmd: "curl -O --insecure"

Also use absolute path for test_bin file as relative
path requires the script to run from specific directory.

Change-Id: Id7a6cabd10889abad8ea54745fb6fec7b1db4ffc
2023-09-21 20:42:57 +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
Masco 8632866417 add ilm policies to handle the life of the es indices
two policies are added to handle short and long term indices.

life of the indices can be configured using the 'elasticsearch.life'
field at browbeat-config.yml file
shortterm will have: 125 days
longterm will have 2 years

the policy and the policy based templates can be created using the
'es-template' install playbook.

Change-Id: I0f4a4a9acc03092fd582ae4ff50f688850def953
2023-09-07 15:29:11 +05:30
Masco 173c9a1afa fix docs tox job
openstack docs tox job is failing after the sphinx new release,
this pr fixing it by setting a upper constraints

Change-Id: I8d3249ec8eb207d17dc175e205fd131d772c59b8
2023-08-23 11:53:23 +05:30
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
Sanjay Chari 865e85a277 Fix ansible-lint issue
There are failures with ansible-lint.
https://zuul.opendev.org/t/openstack/build/b89f36f3bd534733b2337a661bc090e5

This patch fixes the issue

Change-Id: I1249aa48837df422379e3b3daa17d3a67f1ef336
2023-06-23 15:30:52 +05:30
Zuul 1720d3ce11 Merge "Update RSA SSH host key for GitHub" 2023-05-15 13:18:26 +00:00
Sanjay Chari 1f3cbd0fae Update RSA SSH host key for GitHub
GitHub recently updated its RSA SSH host key[1], and this is causing errors
in the Zuul job that pushes to the Browbeat GitHub mirror[2]. This patch fixes
the issue.

[1] https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/
[2] https://zuul.openstack.org/build/b2f1b0ccbcc94424877e195c53411d92

Change-Id: I74023bdafb667db3a26b72250a77190711b587f2
2023-05-15 13:45:40 +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
rajeshP524 d936e84f07 Support ocp_on_osp for OSP17
Adding support for OSP17, installation process
is the same. Mostly the changes were around clouds.yaml

Change-Id: I3b31753036d55cb9f030d47aa4ef8bfa987e3f08
2023-04-20 22:30:50 +05:30
yatinkarel 8a7b243973 Fix pin of novaclient to working version
Previous pin[1] didn't worked as it conflicted
with version requirements from openstackclient

This patch pins novaclient to last known good
version.

[1] https://review.opendev.org/c/x/browbeat/+/874928

Closes-Bug: #2008235
Change-Id: I446f6348fbfc8becfe3fa047b09cb320d2ed143f
2023-02-27 21:11:24 +05:30
yatinkarel ba485b728d Pin python-novaclient to 17.6.0
With[1] included in novaclient-18.3.0 use of
floating and other keyword args do not work.
Until browbeat code base is compatible with
novaclient-18.3.0, let's pin it.

It is follow up of [2] as that was not sufficient.

[1] https://github.com/openstack/python-novaclient/commit/80ee69a
[2] https://review.opendev.org/c/x/browbeat/+/874987

Closes-Bug: #2008235
Change-Id: I9d89c15cd2b67d7801ed197caa40d37f1901612c
2023-02-27 13:34:49 +05:30
Sanjay Chari d163c2a252 Pin python-novaclient to 17.6.0
rally-openstack has an upper constraint of 17.6.0
for python-novaclient. Browbeat requires this constraint
too as multiple scenarios are failing because of
breaking changes in python-novaclient version 18.3.0.

Closes-Bug: #2008235
Change-Id: I25b6561413217a875e3c9270ae0b8057ac15f352
2023-02-24 13:52:41 +05:30
yatinkarel 677b2328ec Pin SQLAlchemy <2.0.0 for rally
Rally code base is not compatible

Related-Bug: #2004022
Change-Id: I37a789ca1c52277774e0984fe3163463c9ce5ef5
2023-02-03 11:35:48 +05:30
Zuul 695ea169c6 Merge "Add Virt Collectd plugin" 2023-01-12 07:09:33 +00:00
Sanjay Chari 56c8cb8a97 Add Virt Collectd plugin
This patch adds the virt collectd plugin to Browbeat.
The plugin monitors CPU, disk, network and memory resources on VMs
on compute nodes through information provided by the hypervisor, so
performance of the VMs is not majorly affected by the plugin.

Change-Id: I617cb3c29ae417c87d6b2c2652610ff0e8bcd4b1
2023-01-06 12:39:13 +05:30
Sanjay Chari 155fb7056d Fix tox issues
This patch fixes issues with the openstack-tox-molecule
and openstack-tox-linters Zuul jobs.

Change-Id: I577897953ff04a1e9cc3f70d32650d688e3b32fd
2023-01-06 10:47:27 +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 2ceb50afdb Merge "Add option to create Grafana annotations" 2022-11-30 11:14:26 +00:00
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
Zuul 98f4c0f2ed Merge "Extend m1.tiny-centos memory" 2022-11-22 09:17:48 +00:00
Sanjay Chari 7a1ff7f4cf Extend m1.tiny-centos memory
In OSP 17, booting a centos7 VM with the existing m1.tiny-centos flavor
causes the VM to enter Kernel Panic because of OOM issues. This patch
extends the memory of m1.tiny-centos from 192 MB to 224 MB to fix this
issue.

Change-Id: I05f1b9a060aba90c61c4242f5eed047c6a35793f
2022-11-21 16:03:19 +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 cdac1ce0c6 Update molecule version
This patch updates molecule version from <3 to <4.
molecule<3 has a dependency on anyconfig==0.9.7, which
was causing issues in the Zuul build pipeline.
https://zuul.opendev.org/t/openstack/build/93921d409cf9429a863dd8cae93007f1
This patch fixes the issue.

Change-Id: If9208913675e25849010de33252f829903a42700
2022-10-28 13:35:04 +05:30
Sanjay Chari 0c8e4cba04 Add option to create Grafana annotations
This patch adds an option in browbeat-config.yaml to create annotations
on a Grafana dashboard for a Browbeat scenario. This would be useful for
CI as it provides information on Grafana about what Browbeat scenario was
running at a particular time.

Change-Id: I83a9c74a56379da35ec9466a7492aecc2ee64ea9
2022-10-17 11:22:59 +05:30
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