[rally] Add Rally role#3996
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 16m 50s |
|
Build failed (check pipeline). Post ❌ openstack-k8s-operators-content-provider FAILURE in 7m 00s |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 39m 19s |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 23m 47s |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 11m 55s |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 20m 46s |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 15m 22s |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 22m 37s |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 21m 42s |
Testproject MRA testproject MR has been added to validate this implementation end-to-end Test ResultsThis POC confirms that the implementation is working correctly. Cinder workload: One test failure observed, but it appears to be a Rally bug, not an issue with the integration itself. Manila workload: The failures seen are configuration-related only and are not caused by the Rally role or its wiring into the test_operator framework. |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 31m 07s |
43000e6 to
9ba4734
Compare
|
Merge Failed. This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset. |
| @@ -0,0 +1,31 @@ | |||
| --- | |||
There was a problem hiding this comment.
I'm not sure this is the right way for doing this. The test-operator role is a wrapper against test-operator, so it should only support test runners which are supported by test-operator. Rally is not supported by test-operator. So please keep everything in the separate rally role, outside test-operator.
There was a problem hiding this comment.
You're right!
I've removed rally_runner.yml from test_operator and all cifmw_test_operator_rally_* variables. Rally is now invoked entirely through the standalone rally role via hooks/playbooks/rally_run.yaml.
|
|
||
| ```yaml | ||
| cifmw_run_tests: true | ||
| cifmw_run_test_role: test_operator |
There was a problem hiding this comment.
see above, this rally role can't be used with the test-operator role if test-operator itself does not support rally
Add a new `rally` Ansible role that runs OpenStack Rally benchmarks
inside a podman container (quay.io/airshipit/xrally-openstack:3.0.0).
The role auto-discovers OpenStack credentials from the cluster's
KeystoneAPI resource and appends the deployment CA to the trust bundle
so SSL verification works without any manual configuration.
The role supports two execution modes:
* Single run (default): `cifmw_rally_runs: []` — uses the top-level
`cifmw_rally_*` variables, artifacts stored in
`cifmw_rally_artifacts_basedir/`.
* Multi-run: set `cifmw_rally_runs` to a list of dicts, each with a
`name` key and optional `cifmw_rally_*` overrides. Artifacts for each
run are namespaced under `cifmw_rally_artifacts_basedir/<name>/`.
This is modelled after `cifmw_test_operator_stages` and replaces the
former test_operator-based wiring (Rally is not a test-operator CRD).
A `hooks/playbooks/rally_run.yaml` entry point is provided so jobs can
invoke Rally via the ci-framework hooks system, e.g.:
post_tests_90_rally_run:
type: playbook
source: rally_run.yaml
Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: lkuchlan <lkuchlan@redhat.com>
Add a new
rallyAnsible role that runs OpenStack Rally benchmarks inside a podman container (quay.io/airshipit/xrally-openstack:3.0.0). The role auto-discovers OpenStack credentials from the cluster's KeystoneAPI resource and appends the deployment CA to the trust bundle so SSL verification works without any manual configuration.Wire Rally into the
test_operatormulti-stage framework via a newrally_runner.ymldispatcher andcifmw_test_operator_rally_*defaults, so it can run as a named stage alongside Tempest.Key design decisions:
--fromenvdeployment creation — no JSON config file neededrootca-publicCA from theopenstacknamespace appended to the CA bundle so the container can verify the Keystone TLS endpointAuthenticate.keystone(no cloud resources required)cinder-task.yamlincluded for Cinder volume benchmarksAssisted-By: Claude Sonnet 4.6 noreply@anthropic.com