Skip to content

Add edpm_cyborg role for Cyborg agent dataplane deployment - #1180

Open
amoralej wants to merge 1 commit into
openstack-k8s-operators:mainfrom
amoralej:add-cyborg
Open

Add edpm_cyborg role for Cyborg agent dataplane deployment#1180
amoralej wants to merge 1 commit into
openstack-k8s-operators:mainfrom
amoralej:add-cyborg

Conversation

@amoralej

Copy link
Copy Markdown

Deploy the cyborg-agent as a Podman container on EDPM compute nodes for accelerator lifecycle management (GPUs, FPGAs, etc.). The role discovers config files mounted by the dataplane operator, syncs them to the host, and runs the agent with device access.

Includes playbook, molecule tests, argument specs, documentation, and CI integration.

Assisted-By: claude

@openshift-ci
openshift-ci Bot requested review from brjackma and danpawlik May 21, 2026 15:32
@amoralej
amoralej force-pushed the add-cyborg branch 2 times, most recently from cafd94d to 887fe48 Compare May 21, 2026 18:04
@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/f828d77a3b2d452b9e72e2f01b463c12

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 24m 09s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 28m 23s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 41m 46s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 42s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 32m 11s
✔️ noop SUCCESS in 0s
✔️ edpm-ansible-tempest-multinode SUCCESS in 1h 38m 28s
edpm-ansible-baremetal-minor-update POST_FAILURE in 2h 00m 36s
✔️ adoption-standalone-to-crc-ceph-provider SUCCESS in 3h 08m 23s

@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/1f0e037207824749aa6a5c9bf405af1b

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 26m 15s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 26m 58s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 34m 47s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 58s
cifmw-crc-podified-edpm-baremetal-bootc RETRY_LIMIT in 3h 00m 51s
✔️ noop SUCCESS in 0s
edpm-ansible-tempest-multinode RETRY_LIMIT in 7m 13s
✔️ edpm-ansible-baremetal-minor-update SUCCESS in 2h 08m 51s
✔️ adoption-standalone-to-crc-ceph-provider SUCCESS in 3h 10m 52s

@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/8f07f737e2b84a8fa06af42e910bcacc

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 41m 44s
podified-multinode-edpm-deployment-crc RETRY_LIMIT in 6m 33s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 2h 21m 04s
✔️ cifmw-pod-zuul-files SUCCESS in 6m 52s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 2h 18m 55s
✔️ noop SUCCESS in 0s
✔️ edpm-ansible-tempest-multinode SUCCESS in 2h 17m 06s
edpm-ansible-baremetal-minor-update RETRY_LIMIT in 27m 48s
adoption-standalone-to-crc-ceph-provider NODE_FAILURE Node(set) request 099-0000108377 failed in 0s

@amoralej

amoralej commented Jun 1, 2026

Copy link
Copy Markdown
Author

check-rdo

@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/54fec853ce574af78c299497504bd457

openstack-k8s-operators-content-provider FAILURE in 7m 02s
⚠️ podified-multinode-edpm-deployment-crc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
✔️ cifmw-pod-zuul-files SUCCESS in 4m 35s
⚠️ cifmw-crc-podified-edpm-baremetal-bootc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
✔️ noop SUCCESS in 0s
⚠️ edpm-ansible-tempest-multinode SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ edpm-ansible-baremetal-minor-update SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ adoption-standalone-to-crc-ceph-provider SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider

@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/cec35629cce5496aacf20ebc86f4c578

✔️ openstack-k8s-operators-content-provider SUCCESS in 4h 23m 02s
podified-multinode-edpm-deployment-crc NODE_FAILURE Node(set) request 099-0000156642 failed in 0s
cifmw-crc-podified-edpm-baremetal NODE_FAILURE Node(set) request 099-0000156643 failed in 0s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 16s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 3h 25m 50s
cifmw-crc-podified-edpm-baremetal-bootc FAILURE in 2h 00m 24s
✔️ noop SUCCESS in 0s
✔️ edpm-ansible-tempest-multinode SUCCESS in 1h 47m 21s
edpm-ansible-baremetal-minor-update NODE_FAILURE Node(set) request 099-0000156645 failed in 0s
adoption-standalone-to-crc-ceph-provider FAILURE in 2h 57m 42s

@amoralej

Copy link
Copy Markdown
Author

check-rdo

@amoralej

Copy link
Copy Markdown
Author

@melwitt melwitt left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Looks good to me, just a couple of small questions.

The testing with openstack-k8s-operators/nova-operator#1143 is really great, so thank you for that :)

Comment thread requirements.yml

collections:
- ansible.posix
- community.crypto

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Do you need this here as it's already included in collections.yml? IIUC these are global requirements and not sure it's needed other than the testing area.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Right, done.

ansible.builtin.assert:
that:
- "cyborg_user.ansible_facts.getent_passwd.cyborg[1] == '42592'"
- "cyborg_user.ansible_facts.getent_passwd.cyborg[2] == '42592'"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This user ID 42592 is different than the user ID in the DNM testing patch (42483) [1], is that expected or should they be the same?

[1] https://github.com/openstack-k8s-operators/nova-operator/pull/1143/changes#diff-c59b595dfac36646c2b7856f6ffd0f14c315f7fbc43a52fa4cd2b4ec7bc1856eR56

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I don't know where i took that from ... Yes, it should be the same.

Done!

@amoralej
amoralej force-pushed the add-cyborg branch 2 times, most recently from 2193429 to ee28866 Compare August 3, 2026 13:53

@melwitt melwitt left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: amoralej, melwitt
Once this PR has been reviewed and has the lgtm label, please assign rebtoor 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

@amartyasinha amartyasinha 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.

Overall lgtm! Haven't tested it personally.

@@ -0,0 +1 @@
---

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.

Even though post-install.yml is empty, but we've added it. I was wondering if there's some validation in edpm-ansible which requires this task file to be a part of roles?

@openshift-ci

openshift-ci Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

New changes are detected. LGTM label has been removed.

Deploy the cyborg-agent as a Podman container on EDPM compute nodes
for accelerator lifecycle management (GPUs, FPGAs, etc.). The role
discovers config files mounted by the dataplane operator, syncs them
to the host, and runs the agent with device access.

It uses quadlet to run the container as systemd service.

Includes playbook, molecule tests, argument specs, documentation,
and CI integration.

Assisted-By: claude
Signed-off-by: Alfredo Moralejo <amoralej@redhat.com>
@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/720319763864431c89f5de72ce94c53f

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 38m 23s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 42m 29s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 51m 35s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 57s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 06m 07s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 52m 08s
✔️ noop SUCCESS in 0s
✔️ edpm-ansible-tempest-multinode SUCCESS in 1h 53m 08s
✔️ edpm-ansible-baremetal-minor-update SUCCESS in 2h 25m 43s
adoption-standalone-to-crc-ceph-provider FAILURE in 1h 56m 51s

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.

3 participants