Repository navigation
[ci] Use mock LLM for Lightspeed CRC deployment - #110
malingatembo wants to merge 8 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Comment |
|
Build succeeded (check pipeline). ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 28m 09s |
|
recheck |
|
Build succeeded (check pipeline). ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 39m 00s |
|
recheck |
|
Build succeeded (check pipeline). ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 01m 37s |
|
Nice progress! The lightspeed operator got deployed with the mock LLM server:) 🎉 Just an observation. If we want to continue to use the mock LLM server and we hit problem during running of the tests then the problem might be missing |
Nice find! Maybe we can quickly add the v1/models to the mocked server then ? Even part of this work, should be straight forward |
|
Build succeeded (check pipeline). ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 16m 52s |
|
This is amazing! 🎉 -> https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/logs/df8/rdoproject.org/df89eec2e65145959fed02b30b506d5d/controller/ci-framework-data/logs/pre_tests_02_run_lightspeed_tests.log We are not running the tests via In this openstack-k8s-operators/lightspeed-tests#12 it is described how to run the tests using the tests operator. Running the tests using that configuration should be just about passing it via the corresponding ci-framework params (an example of AnsibleTest config in zuul.yaml) |
|
Build succeeded (check pipeline). ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 47m 45s |
|
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. |
|
recheck |
|
Build succeeded (check pipeline). ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 52m 26s |
|
recheck |
|
Build succeeded (check pipeline). ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 06m 19s |
|
recheck |
|
Build succeeded (check pipeline). ✔️ openstack-k8s-operators-content-provider SUCCESS in 1h 59m 26s |
|
This change depends on a change that failed to merge. Change openstack-k8s-operators/ci-framework#4222 is needed. |
|
recheck |
|
Build succeeded (check pipeline). ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 05m 13s |
lpiwowar
left a comment
There was a problem hiding this comment.
This is awesome:)
Notes from the meeting. The following two things can be done as part of next set of tickets:
- Ticket no. 1: Connect it to OpenAI using the creds from Jan
- Ticket no. 2: Improve the tests results gathering (make sure that they are in separate folder here)
We still need a cleanup on the side of the ci-framework PR and move the variables for the test-operator role here (ref).
BUT IT WORKS and it is AWESOME!:) Hopefully the cleanup will suffice, let's see 🤞
Point the deployment job at the mock provider supplied by the ci-framework hook instead of an unreachable placeholder endpoint. Related-Issue: OSPRH-33344 Signed-off-by: malingatembo <tembomalinga@gmail.com>
Prepare the Lightspeed test repository alongside the operator and framework. Enable the mock explicitly, deploy Lightspeed, then run application integration tests and publish JUnit reports and runner logs. Related-Issue: OSPRH-33344 Signed-off-by: malingatembo <tembomalinga@gmail.com>
Retain the inherited Tempest stage and run Lightspeed through the test-operator role after deployment. Propagate application test failures to the deployment job. Related-Issue: #OSPRH-33344 Signed-off-by: malingatembo <tembomalinga@gmail.com>
Select the 0.7.0 OGX image containing the upstream Solr KNN fix. Keep the API image at its operator default because the final API image failed PostgreSQL startup in CRC validation. Related-Issue: #OSPRH-33344 Signed-off-by: malingatembo <tembomalinga@gmail.com>
Configure the AnsibleTest runner directly through existing job settings and remove the preparation hook, extra Tempest stage and OGX image override. Keep result collection and authenticated test access. As per Lukas reviews. Use only the in-cluster mock and dummy provider token. Leave the real OpenAI secret and its lifecycle hooks disconnected from this job; real-provider validation is follow-up work. Merge lightspeed-tests openstack-k8s-operators#17 before final validation against upstream default. Related-Issue: #OSPRH-33344 Signed-off-by: malingatembo <tembomalinga@gmail.com>
5f49f7a to
b489b27
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: malingatembo 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 |
Temporarily select the published tests PR openstack-k8s-operators#17 branch from the author fork so the native AnsibleTest clone includes its fixes before they are merged. Keep the fake LLM configuration and existing test authentication. Restore the upstream repository and default branch after openstack-k8s-operators#17 merges, then recheck that final configuration. Related-Issue: #OSPRH-33344 Signed-off-by: malingatembo <tembomalinga@gmail.com>
|
recheck |
Pass the configured service model to the Goose Responses API tests and exclude tests marked llm_dependent. Keep the fake provider endpoint and dummy token so ci can run without real llm creds. Signed-off-by: malingatembo <tembomalinga@gmail.com>
|
recheck |
CI bootstrap saves the job parameters before the test runner and result PVC facts exist. Supply bootstrap defaults in the existing reader override while retaining the real runner identity and discovered PVCs at collection. Resolve the collector's nested instance-name template in mount paths so the generated reader can expose the result directories to log collection. Keep the reader UID, group and SELinux settings and the mock test selection. Signed-off-by: malingatembo <tembomalinga@gmail.com>
lpiwowar
left a comment
There was a problem hiding this comment.
Just couple of comments from the meeting:). Overall it looks really good! 👍 Tests are running. These are just comments related to the polishing of the code.
| memory: 2Gi | ||
| # Allow bootstrap to save parameters before runner and PVC facts exist. | ||
| # The collector supplies those facts when it creates this Pod. | ||
| cifmw_test_operator_log_pod_definition: |
There was a problem hiding this comment.
From the meeting (non-blocking): This has been added by AI. We need to understand why.
| type: ansibletest | ||
|
|
||
| cifmw_test_operator_namespace: openstack | ||
| cifmw_test_operator_privileged: true |
There was a problem hiding this comment.
From the meeting (non-blocking): Is this needed? If so, why?
| cifmw_test_operator_ansibletest_ansible_git_repo: https://github.com/malingatembo/lightspeed-tests | ||
| cifmw_test_operator_ansibletest_ansible_git_branch: feat/OSPRH-33344-ci-test-runner |
There was a problem hiding this comment.
issue (blocking): This needs to be updated before we merge.
|
I just want to say that this is pretty much done. We can build on top of it and keep improving it. There are couple of comments on the ci-framework part as well but we are almost there:) |
[ci] Deploy Lightspeed with a mock provider and run integration tests
Deploy Lightspeed with the mock LLM, prepare the lightspeed-tests checkout,
and run its integration suite after Lightspeed reaches Ready. Retain JUnit
reports and runner logs, and fail the deployment job when tests fail.
The deployment-only job has passed upstream. The controller integration
passed five tests locally on CRC; an invalid-token run verified failure
propagation and report retention. Combined upstream validation of these
integration changes remains pending.
Related-Issue: OSPRH-33344
Depends-On: openstack-k8s-operators/ci-framework#4222