Skip to content

[ci] Add mock LLM for Lightspeed deployment testing - #4222

Draft
malingatembo wants to merge 13 commits into
openstack-k8s-operators:mainfrom
malingatembo:feat/OSPRH-33344-mock-llm-deployment
Draft

malingatembo wants to merge 13 commits into
openstack-k8s-operators:mainfrom
malingatembo:feat/OSPRH-33344-mock-llm-deployment

Conversation

@malingatembo

@malingatembo malingatembo commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

[ci] Add mock LLM for Lightspeed deployment testing

Deploy a mock LLM so Lightspeed can be tested without external provider
credentials. The mock supports ordinary JSON and streamed chat completions.

Validated locally on CRC:

  • Deployment and an unchanged rerun passed.
  • Authenticated query returned HTTP 200 with the mock answer.
  • Unauthenticated query returned HTTP 401.
  • Broken provider connection returned HTTP 500.
  • Restored provider connection returned HTTP 200.

Syntax and formatting checks passed. Ansible lint did not complete.

Remaining before final review:

  • Address the fresh-install readiness timeout.
  • Restart the mock automatically when its code changes.

Query checks were manual; automated lightspeed-tests integration remains
separate work..

Add a controller hook that runs the prepared lightspeed-tests checkout after
Lightspeed reaches Ready. The hook supplies client authentication, retains
JUnit reports and runner logs, propagates test failures, and cleans up its
temporary token files and API tunnel.

Test-runner changes:
openstack-k8s-operators/lightspeed-tests#17

Combined upstream integration validation remains pending.

Related-Issue: OSPRH-33344

@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@openshift-ci

openshift-ci Bot commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign fultonj for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build succeeded (check pipeline).
https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/7cec839c08e14eb588dd6a0737736eb1

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 35m 50s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 20m 21s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 24m 09s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 30m 17s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 01m 12s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 3h 00m 42s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 30m 44s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 04s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 31s

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/0bec6a0613c64ce69be3c3912004fdeb

✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 47m 27s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 22m 21s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 28m 51s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 28m 02s
❌ cifmw-crc-podified-edpm-baremetal-minor-update NODE_FAILURE Node(set) request 099-0000224023 failed in 0s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 3h 09m 22s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 25m 23s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 42s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 17s

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/e074a5e4b9764fc6822dd5201a637b1d

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 13m 42s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 25m 33s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 29m 45s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 33m 06s
❌ cifmw-crc-podified-edpm-baremetal-minor-update FAILURE in 2h 04m 07s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 51m 42s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 23m 57s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 43s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 12s

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/b9a9fb66e3b446d79f970656578a8147

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 03m 01s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 22m 35s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 19m 42s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 30m 48s
❌ cifmw-crc-podified-edpm-baremetal-minor-update NODE_FAILURE Node(set) request 099-0000228726 failed in 0s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 25m 43s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 27m 09s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 7m 55s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 25s

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build succeeded (check pipeline).
https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/5cb59774eb6d40c5aaf37f683b53eb7c

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 16m 19s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 23m 56s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 20m 59s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 35m 45s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 1h 57m 21s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 14m 25s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 27m 55s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 10m 39s
✔️ cifmw-pod-pre-commit SUCCESS in 9m 55s

@centosinfra-prod-github-app

Copy link
Copy Markdown

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.
Warning:
Error merging github.com/openstack-k8s-operators/ci-framework for 4222,2d1db6134f13b845d950bbce4ed1a19c8bfc7868

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/647e2758ef0a48f5845c7cd72fa9fd76

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 14m 59s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 22m 42s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 25m 55s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 32m 50s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 1h 57m 46s
✔️ cifmw-multinode-tempest SUCCESS in 1h 50m 29s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 34s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 06m 23s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 27m 49s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 36s
❌ cifmw-pod-pre-commit FAILURE in 8m 27s
✔️ cifmw-molecule-test_operator SUCCESS in 3m 56s

@centosinfra-prod-github-app

Copy link
Copy Markdown

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.
Warning:
Error merging github.com/openstack-k8s-operators/ci-framework for 4222,efd9055649f30989c7670d4fa082903942a27c5b

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/8d0da1b0e6be46b4a9012be74a179a46

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 14m 27s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 21m 34s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 16m 39s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 29m 15s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 1h 56m 37s
✔️ cifmw-multinode-tempest SUCCESS in 1h 46m 35s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 37s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 08m 58s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 32m 43s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 46s
❌ cifmw-pod-pre-commit FAILURE in 8m 18s
✔️ cifmw-molecule-test_operator SUCCESS in 4m 15s

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/5cd4eaf5863a49fb98ebe142fa97fb43

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 11m 46s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 21m 39s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 19m 54s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 28m 48s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 1h 54m 45s
❌ cifmw-multinode-tempest FAILURE in 1h 05m 33s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 23s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 06m 19s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 33m 00s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 32s
❌ cifmw-pod-pre-commit FAILURE in 8m 46s
✔️ cifmw-molecule-test_operator SUCCESS in 4m 06s

@lpiwowar lpiwowar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comments from the meeting:)

Deploy a mock provider so Lightspeed can be tested without external LLM credentials. Support ordinary and streamed chat completions required by the current provider adapter.

Related-Issue: OSPRH-33344
Signed-off-by: malingatembo <tembomalinga@gmail.com>
The upstream mock-provider deployment timed out while application images
were still starting. The collected custom resource became Ready about
50 seconds after the playbook failed.

Increase the default CR readiness retries from 30 to 120 while retaining
the ten-second polling interval, Ready condition and bounded failure.

Related-Issue: #OSPRH-33344

Signed-off-by: malingatembo <tembomalinga@gmail.com>
The operator now requires models and defaultModel. Move the existing
provider settings into one configured model and select it as the default
so the deployment hook can create the CR against the current operator.

Related-Issue: OSPRH-33344
Signed-off-by: malingatembo <tembomalinga@gmail.com>
Wait for mock readiness, reload changed mock code, and allow bounded
application startup. Run the prepared Lightspeed test checkout with an
explicit client identity and retain JUnit/logs before propagating failure.
Remove private client token files and API tunnels on success or failure.

Related-Issue: OSPRH-33344
Signed-off-by: malingatembo <tembomalinga@gmail.com>
Serve GET /v1/models with the configured provider

Related-Issue: OSPRH-33344
Signed-off-by: malingatembo <tembomalinga@gmail.com>
Recognize the project terms used in the Lightspeed testing guide.

Related-Issue: #OSPRH-33344
Signed-off-by: malingatembo <tembomalinga@gmail.com>
Execute the prepared test source in an AnsibleTest Pod with explicit client authentication and PVC report collection. Replace the controller test hook and support stage-specific storage and security settings.

Local checks passed. CRC validation is deferred; combined CI validation is pending. Reusing completed test resources remains a known limitation.

Related-Issue: #OSPRH-33344
Signed-off-by: malingatembo <tembomalinga@gmail.com>
Request real document retrieval before the fixed answer so the OKP tests
can validate retrieved documentation. Support JSON and streaming tool calls,
and return the answer after the tool result to avoid repeated retrieval.

Related-Issue: OSPRH-33344
Signed-off-by: malingatembo <tembomalinga@gmail.com>
Add an optional OGX image override to the deployment hook while retaining operator defaults when unset. Document the parameter and recognize OGX in documentation spelling checks.

Related-Issue: #OSPRH-33344
Signed-off-by: malingatembo <tembomalinga@gmail.com>
Restore the Lightspeed access role and binding plus the test-operator
ConfigMap and two Secrets accidentally dropped during conflict resolution.
Preserve upstream callers and retain the mock retrieval, readiness handling
and optional OGX image override.

Related-Issue: #OSPRH-33344
Signed-off-by: malingatembo <tembomalinga@gmail.com>
Remove custom source packaging and bootstrap execution in favour of direct AnsibleTest configuration in the consuming job. Restore the shared role, remove the associated PR-added tests, and keep test-account permissions in the Lightspeed installer.

Related-Issue: #OSPRH-33344
Signed-off-by: malingatembo <tembomalinga@gmail.com>
@malingatembo
malingatembo force-pushed the feat/OSPRH-33344-mock-llm-deployment branch from 86a94ba to a8dabab Compare October 20, 2026 09:05
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build succeeded (check pipeline).
https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/5da267f5fcb244dfbb9f5924894d84dd

✔️ openstack-k8s-operators-content-provider SUCCESS in 4h 45m 33s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 19m 48s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 16m 48s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 32m 37s
❌ cifmw-crc-podified-edpm-baremetal-minor-update FAILURE in 2h 05m 46s (non-voting)
✔️ periodic-podified-edpm-baremetal-minor-update-bootc-master-ocp-crc SUCCESS in 1h 49m 30s (non-voting)
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 26m 56s
❌ cifmw-crc-podified-edpm-baremetal-bootc FAILURE in 1h 45m 10s (non-voting)
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 46s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 24s

@lpiwowar lpiwowar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple of non-blocking comments from the call:)

Comment on lines +82 to +96
- name: Create ClusterRole for Lightspeed tests
kubernetes.core.k8s:
state: present
definition:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: "lightspeed-test-role"
rules:
- nonResourceURLs: ["/ls-access"]
verbs: ["get"]
register: _result
retries: 5
delay: 10
until: _result is not failed

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit (non-blocking): Thanks to this PR -> openstack-k8s-operators/lightspeed-operator#133 we no longer have to create the ClusterRole here probably. We can just use the one created by the operator. But for not it is good as-is. We can always polish later.

Separate test-operator access and dummy prerequisites from service deployment,
use the configured test namespace directly, and remove redundant rescue
diagnostics. Preserve task behaviour and the existing must-gather collection.

Validation: production ansible-lint, syntax and documentation build; offline
task/object parity, namespace and natural failure-propagation checks passed.

Related-Issue: #OSPRH-33344
Signed-off-by: malingatembo <tembomalinga@gmail.com>
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build succeeded (check pipeline).
https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/0fcef9ee6cef4ea3bcd41b1919ec581e

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 36m 19s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 21m 16s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 20m 52s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 34m 49s
❌ cifmw-crc-podified-edpm-baremetal-minor-update FAILURE in 2h 03m 18s (non-voting)
✔️ periodic-podified-edpm-baremetal-minor-update-bootc-master-ocp-crc SUCCESS in 1h 54m 40s (non-voting)
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 3h 36m 03s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 26m 09s (non-voting)
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 22s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 47s

Warning:
File .kube/http-cache/bdd7b2cb6584e62d442216995e51db5f found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-ansible-test. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/http-cache/3418855402ab8666a195458ea6d5d4a2 found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-ansible-test. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/http-cache/a0a4de7d63733803eeececaa48e4969f found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-ansible-test. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/cache/discovery/38.102.83.139_9023/servergroups.json found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-ansible-test. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/cache/discovery/38.102.83.139_9023/v1/serverresources.json found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-ansible-test. Add to preserve-home-paths if safe, or otherwise remove.
File .ssh/config found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/pod-jobs.yml for job cifmw-pod-ansible-test. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/http-cache/57b4a240b05e14143590c924faf8f5b9 found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-pre-commit. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/http-cache/6a08f8b7f457cfb0bbd7f9d1e1cfc6f7 found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-pre-commit. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/http-cache/f602b5784741105fba742abf7b02c24d found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-pre-commit. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/cache/discovery/38.102.83.54_9023/servergroups.json found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-pre-commit. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/cache/discovery/38.102.83.54_9023/v1/serverresources.json found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-pre-commit. Add to preserve-home-paths if safe, or otherwise remove.
File .ssh/config found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/pod-jobs.yml for job cifmw-pod-pre-commit. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/06afafe070fd43e08039541191e0804f found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job periodic-podified-edpm-baremetal-minor-update-bootc-master-ocp-crc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/ed3e045d5cad4de2a4afe667bbe983ab found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job periodic-podified-edpm-baremetal-minor-update-bootc-master-ocp-crc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/06a4407041cb44b1b8e0dd4e27ed9c29 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job periodic-podified-edpm-baremetal-minor-update-bootc-master-ocp-crc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/c9b7237840d648a0bde04e2d34b48f48 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job periodic-podified-edpm-baremetal-minor-update-bootc-master-ocp-crc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/06afafe070fd43e08039541191e0804f found in build home directory during playbook review.rdoproject.org/config/playbooks/ci-framework-rdo-base/dlrn/dlrn-report.yaml for job periodic-podified-edpm-baremetal-minor-update-bootc-master-ocp-crc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/a6651ba2b3da4142aac57d864e9474af found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job podified-multinode-edpm-deployment-crc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/833b34240d6e41d6bc37fe3536d222b1 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job podified-multinode-edpm-deployment-crc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/a6651ba2b3da4142aac57d864e9474af found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-autohold.yml for job podified-multinode-edpm-deployment-crc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/833b34240d6e41d6bc37fe3536d222b1 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-autohold.yml for job podified-multinode-edpm-deployment-crc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/a6651ba2b3da4142aac57d864e9474af found in build home directory during playbook review.rdoproject.org/config/playbooks/crc/print-machineconfigpool.yaml for job podified-multinode-edpm-deployment-crc. Add to preserve-home-paths if safe, or otherwise remove.
File .ssh/known_hosts.old found in build home directory during playbook review.rdoproject.org/config/playbooks/base-minimal/post-logs.yaml for job podified-multinode-edpm-deployment-crc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/18dcc7c6115f48e3997bc82ec960c26a found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job podified-multinode-edpm-deployment-crc-centos-10. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/3cc29e4ca158437bb624dd6bb5aee6b8 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job podified-multinode-edpm-deployment-crc-centos-10. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/18dcc7c6115f48e3997bc82ec960c26a found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-autohold.yml for job podified-multinode-edpm-deployment-crc-centos-10. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/3cc29e4ca158437bb624dd6bb5aee6b8 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/multinode-autohold.yml for job podified-multinode-edpm-deployment-crc-centos-10. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/18dcc7c6115f48e3997bc82ec960c26a found in build home directory during playbook review.rdoproject.org/config/playbooks/crc/print-machineconfigpool.yaml for job podified-multinode-edpm-deployment-crc-centos-10. Add to preserve-home-paths if safe, or otherwise remove.
File .ssh/known_hosts.old found in build home directory during playbook review.rdoproject.org/config/playbooks/base-minimal/post-logs.yaml for job podified-multinode-edpm-deployment-crc-centos-10. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/a08865c2f28a4120928093de9a84b222 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/99665d4e07864e258f7a894931fa8ecf found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/4ca92ea2c6344c02a75395bc8186f6ee found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/627a01cebc5d43f7ae5f30590906702a found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/30b08a6cd4b94a12b7afe85ec4a17032 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/45732d3c2cd246ffbf898d29274cce62 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal-minor-update. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/cda4a579c6b14af580c3a6d82e3d179f found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal-minor-update. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/90fb63703f77496aa9cf6ebe156dccab found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal-minor-update. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/6174f3dc07ae4c648715251bccdc42c7 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal-minor-update. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/791f2d15dc014f99b797950fc54f0f01 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal-minor-update. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/e333eb96898346bd96faeb60c55e4ecd found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal-bootc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/d0b6369e70c6454081e1329e5eda6e0e found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal-bootc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/f56ce85ca1c44858a5693c3e667e61b3 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal-bootc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/6d8b26bc47fe4d24a24bedc29dfb657c found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal-bootc. Add to preserve-home-paths if safe, or otherwise remove.
File ansible/tmp/83517a2a251f452395139333cec2fb85 found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/collect-logs.yml for job cifmw-crc-podified-edpm-baremetal-bootc. Add to preserve-home-paths if safe, or otherwise remove.

@elfiesmelfie elfiesmelfie left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, you can add these changes into the lightspeed operator itself, you don't need to have them in the ci-framework.

This would have the advantage of having docs local to the lightspeed operator, and also have the changes automatically tested in the CI jobs that lightspeed relies on.

You can find some examples of this in the telemetry-operator repo.

We have a playbook in telemetry-operator/ci: https://github.com/openstack-k8s-operators/telemetry-operator/blob/main/ci/cloudkitty-pre_deploy-install_loki.yml
We define the hook in: https://github.com/openstack-k8s-operators/telemetry-operator/blob/main/ci/vars-cloudkitty-tempest.yml#L20C1-L22C17 , using some zuul vars to reference the location of the checked out repo/playbook.
Then this is pulled in via cifmw_extras: https://github.com/openstack-k8s-operators/telemetry-operator/blob/15c5aef9b929d06f0338a4cc2910c9fdbe490381/zuul.d/projects.yaml#L160

@lpiwowar lpiwowar left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only two non-blocking comments. Let's get it merged so that we can iterate:).

Later, if we see fit we can migrate the playbook to our repo as suggested by Emma:).

Comment on lines +458 to +493
- name: Create ClusterRole for Lightspeed tests
kubernetes.core.k8s:
state: present
definition:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: "lightspeed-test-role"
rules:
- nonResourceURLs: ["/ls-access"]
verbs: ["get"]
register: _result
retries: 5
delay: 10
until: _result is not failed

- name: Create ClusterRoleBinding for Lightspeed tests
kubernetes.core.k8s:
state: present
definition:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: "lightspeed-test-role-binding"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: "lightspeed-test-role"
subjects:
- kind: ServiceAccount
name: "default"
namespace: "{{ openstack_lightspeed_namespace }}"
register: _result
retries: 5
delay: 10
until: _result is not failed

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit (non-blocking): This is probably not needed as mentioned here -> #4222 (comment)

Comment on lines +373 to +381
- name: Verify LLM credentials secret exists
kubernetes.core.k8s_info:
kind: Secret
name: "{{ cifmw_openstack_lightspeed_llm_credentials | default('openstack-lightspeed-apitoken') }}"
namespace: "{{ openstack_lightspeed_namespace }}"
stringData:
apitoken: "{{ cifmw_openstack_lightspeed_api_token }}"
when: cifmw_openstack_lightspeed_api_token is defined
no_log: true

- name: Verify LLM credentials secret exists
kubernetes.core.k8s_info:
kind: Secret
name: "{{ cifmw_openstack_lightspeed_llm_credentials | default('openstack-lightspeed-apitoken') }}"
namespace: "{{ openstack_lightspeed_namespace }}"
register: secret_check
failed_when: secret_check.resources | length == 0
when: cifmw_openstack_lightspeed_api_token is not defined
no_log: true

- name: Download TLS CA certificate from URL
ansible.builtin.uri:
url: "{{ cifmw_openstack_lightspeed_ca_cert_url }}"
return_content: true
register: ca_cert_download
when: cifmw_openstack_lightspeed_ca_cert_url is defined

- name: Create TLS CA certificate bundle ConfigMap
kubernetes.core.k8s:
state: present
definition:
apiVersion: v1
kind: ConfigMap
metadata:
register: secret_check
failed_when: secret_check.resources | length == 0
when: cifmw_openstack_lightspeed_api_token is not defined
no_log: true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit (non-blocking): We do not verify the existence of the secrete. The previous task already guarantees that.

Use the operator-managed lightspeed-access ClusterRole for the test Pod's
ServiceAccount. Remove duplicate roles and the unused application-account
binding while retaining authorization in the configured test namespace.

Give the replacement binding a distinct name to avoid changing an existing
binding's immutable roleRef. Update the test-access documentation.

Related-Issue: #OSPRH-33344
Signed-off-by: malingatembo <tembomalinga@gmail.com>
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build succeeded (check pipeline).
https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/1ca0849f124f481fadf97e9244e415c4

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 21m 22s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 23m 49s
✔️ podified-multinode-edpm-deployment-crc-centos-10 SUCCESS in 1h 16m 38s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 26m 08s
❌ cifmw-crc-podified-edpm-baremetal-minor-update FAILURE in 2h 05m 07s (non-voting)
✔️ periodic-podified-edpm-baremetal-minor-update-bootc-master-ocp-crc SUCCESS in 1h 51m 08s (non-voting)
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 42m 39s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 24m 44s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 06s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 09s

Warning:
File .kube/http-cache/e7f0e9675b534f5990130519704a787f found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-ansible-test. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/http-cache/8ee34c336110486332966f0ed55eea72 found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-ansible-test. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/http-cache/0d0c215b9e6fccbbac173d38078fd700 found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-ansible-test. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/cache/discovery/38.102.83.49_9023/servergroups.json found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-ansible-test. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/cache/discovery/38.102.83.49_9023/v1/serverresources.json found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-ansible-test. Add to preserve-home-paths if safe, or otherwise remove.
File .ssh/config found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/pod-jobs.yml for job cifmw-pod-ansible-test. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/http-cache/58d4363e5b5bd30e095238b0ec5d42f2 found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-pre-commit. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/http-cache/596239d8158c9e304863ae34e9b235c0 found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-pre-commit. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/http-cache/87a697f916b532cf44ccb197ff7ba2e3 found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-pre-commit. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/cache/discovery/38.102.83.186_9023/servergroups.json found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-pre-commit. Add to preserve-home-paths if safe, or otherwise remove.
File .kube/cache/discovery/38.102.83.186_9023/v1/serverresources.json found in build home directory during playbook review.rdoproject.org/rdo-jobs/playbooks/base/pre.yaml for job cifmw-pod-pre-commit. Add to preserve-home-paths if safe, or otherwise remove.
File .ssh/config found in build home directory during playbook github.com/openstack-k8s-operators/ci-framework/ci/playbooks/pod-jobs.yml for job cifmw-pod-pre-commit. Add to preserve-home-paths if safe, or otherwise remove.
File .ssh/known_hosts.old found in build home directory during playbook review.rdoproject.org/config/playbooks/base-minimal/post-logs.yaml for job podified-multinode-edpm-deployment-crc-centos-10. Add to preserve-home-paths if safe, or otherwise remove.
File .ssh/known_hosts.old found in build home directory during playbook review.rdoproject.org/config/playbooks/base-minimal/post-logs.yaml for job podified-multinode-edpm-deployment-crc. Add to preserve-home-paths if safe, or otherwise remove.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants