Skip to content

tests/ci: add k-orc (ORC) integration - #47

Draft
cjeanner wants to merge 1 commit into
mainfrom
ci/orc-workload
Draft

cjeanner wants to merge 1 commit into
mainfrom
ci/orc-workload

Conversation

@cjeanner

Copy link
Copy Markdown
Collaborator

CI-only integration deploying the OpenStack Resource Controller from its official Helm charts and a steady-state smoke stack (Flavor, Image, Network, Subnet, Port, Server) managed through ORC.

The pytest suite creates the k-orc Argo CD Application from a template in tests/ci/k-orc/, pointing it at the pattern's own repository. Applications are labeled validatedpatterns.io/ci-feature and excluded from the pattern inventory assertions.

Generated-By: rits/zai-org/glm-5-3

@cjeanner

Copy link
Copy Markdown
Collaborator Author

I had this running through an internal, agent-driven pipeline (it needed too many other internal PR to run the plain pipeline without many merges first).

I asked the agent to generate the proof of work:

The k-orc (ORC) integration tests are working

The k-orc feature (added on pattern branch test/orc, commit c15f7be
"tests/ci: add k-orc (ORC) integration", ~1140 lines) deploys ORC
(OpenStack Resource Controller) and a smoke stack through three ArgoCD
Applications, then asserts on it via pytest.

Evidence — CI test run: 18/18 passed

$ ./pattern.sh make run-ci-tests VP_HUBCONFIG=~/.kube/config
======================== 18 passed in 238.77s (0:03:58) ========================
- generated xml file: tests/ci/.results/test_standalone.xml -

test_standalone.py::test_k_orc_applications[VP_HUBCONFIG]              PASSED
test_standalone.py::test_orc_crds[VP_HUBCONFIG]                        PASSED
test_standalone.py::test_orc_controller_available[VP_HUBCONFIG]        PASSED
test_standalone.py::test_orc_resource[Flavor-k-orc-flavor-VP_HUBCONFIG]      PASSED
test_standalone.py::test_orc_resource[Image-cirros-VP_HUBCONFIG]             PASSED
test_standalone.py::test_orc_resource[Network-k-orc-network-VP_HUBCONFIG]    PASSED
test_standalone.py::test_orc_resource[Subnet-k-orc-subnet-VP_HUBCONFIG]      PASSED
test_standalone.py::test_orc_resource[Port-k-orc-port-VP_HUBCONFIG]          PASSED
test_standalone.py::test_orc_resource[Server-k-orc-server-VP_HUBCONFIG]      PASSED
test_standalone.py::test_orc_server_uses_managed_resources[VP_HUBCONFIG]     PASSED
test_standalone.py::test_pattern_reconciliation[VP_HUBCONFIG]          PASSED
test_standalone.py::test_application_inventory[VP_HUBCONFIG]           PASSED
test_standalone.py::test_application_convergence[VP_HUBCONFIG]         PASSED
test_standalone.py::test_application_sources[VP_HUBCONFIG]             PASSED
test_standalone.py::test_operator_subscription[VP_HUBCONFIG]           PASSED
test_standalone.py::test_openstack_operator_ready[VP_HUBCONFIG]        PASSED
test_standalone.py::test_controlplane_ready[VP_HUBCONFIG]              PASSED
test_standalone.py::test_dataplane_ready[VP_HUBCONFIG]                 PASSED

Evidence — k-orc Applications and ORC-managed OpenStack resources

$ oc get applications -n vp-gitops -l validatedpatterns.io/ci-feature=k-orc
NAME              SYNC     HEALTH
k-orc-crds        Synced   Healthy
k-orc-operator    Synced   Healthy
k-orc-resources   Healthy  (OutOfSync: benign drift of the credentials Job)

ORC smoke stack (all Available=True with populated status.id):
k-orc-flavor   id=4cc293c6-a163-45c3-a443-5466c5558d65
cirros (image) id=7cb199ff-f660-4e03-b21f-f321e90b47b7
k-orc-network  id=7252bf11-7345-456d-8003-891fc3366e91
k-orc-subnet   id=d581e882-9b34-472c-b4ea-b308ab583143
k-orc-port     id=27e112ae-64ac-45f4-87b1-3aba51f9f5de
k-orc-server   id=498d3ca2-a426-4d98-97a5-6285f9eb6d76

Evidence — a real VM was booted through ORC

$ openstack server show k-orc-server
name=k-orc-server  status=ACTIVE
addresses={'k-orc-network': ['192.168.150.182']}

The server is ACTIVE with a fixed IP on the ORC-managed network —
test_orc_server_uses_managed_resources additionally verified it boots from
the ORC-managed CirrOS image with the ORC-managed flavor on the ORC-managed
port.

CI-only integration deploying the OpenStack Resource Controller from its
official Helm charts and a steady-state smoke stack (Flavor, Image, Network,
Subnet, Port, Server) managed through ORC.

The pytest suite creates the k-orc Argo CD Application from a template in
tests/ci/k-orc/, pointing it at the pattern's own repository. Applications
are labeled validatedpatterns.io/ci-feature and excluded from the pattern
inventory assertions.

Generated-By: rits/zai-org/glm-5-3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant