Skip to content

feat(openstack-sync-operator): migrate Ironic runbook shell-operator onto the generic openstack-sync-operator - #2229

Open
haseebsyed12 wants to merge 2 commits into
mainfrom
openstack-sync-plugin-ironic-runbooks
Open

feat(openstack-sync-operator): migrate Ironic runbook shell-operator onto the generic openstack-sync-operator#2229
haseebsyed12 wants to merge 2 commits into
mainfrom
openstack-sync-plugin-ironic-runbooks

Conversation

@haseebsyed12

@haseebsyed12 haseebsyed12 commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Introduces declarative Ironic runbook management through OpenStack Sync.

Sites can now define runbooks as Kubernetes CRs, keep them in the deployment repo, and let the operator converge Ironic state from Git. That makes runbook ownership, updates, pruning, and status reporting part of the same GitOps workflow used for other OpenStack sync resources.

The design keeps shared framework code limited to generic sync mechanics: binding-context handling, credential grouping, status updates, pruning orchestration, and reusable OpenStack pagination. Ironic-specific behavior stays in the runbook plugin, including API microversion requirements, trait matching, owner/public handling, and runbook deletion rules.

Validation

  • Added framework, pagination, reconcile, prune, and hook tests.
  • Ran the openstack-sync test suite.
  • Built the site plugin kustomization.

What does this change do?

Upgrade impact

  • This change requires operator action to upgrade. If checked, add the
    upgrade-impact label and a release note: run scriv create from the
    repository root and describe the required action in the generated
    changelog.d/ file. See RELEASING.md.

Operator action means anything a deployment has to do beyond a normal resync:
deploy repo or values changes, new or removed secrets, enabling or disabling a
component, or a manual one-time step.

@haseebsyed12
haseebsyed12 force-pushed the openstack-sync-plugin-ironic-runbooks branch 2 times, most recently from a21fc91 to 8625220 Compare August 24, 2026 13:07
@haseebsyed12 haseebsyed12 changed the title feat(openstack-sync-operator): ironic runbooks plugin feat(openstack-sync-operator): migrate Ironic runbook shell-operator onto the generic openstack-sync-operator Aug 24, 2026
@haseebsyed12
haseebsyed12 force-pushed the openstack-sync-plugin-ironic-runbooks branch 7 times, most recently from b6a86ea to f16fcd4 Compare August 31, 2026 18:49
@haseebsyed12
haseebsyed12 force-pushed the openstack-sync-plugin-ironic-runbooks branch from f16fcd4 to d155e7b Compare August 31, 2026 19:14
@haseebsyed12
haseebsyed12 force-pushed the openstack-sync-plugin-ironic-runbooks branch 2 times, most recently from 39a32c6 to cc3de1a Compare August 31, 2026 19:29
@haseebsyed12
haseebsyed12 force-pushed the openstack-sync-plugin-ironic-runbooks branch from cc3de1a to 641d20c Compare August 31, 2026 19:46
@haseebsyed12
haseebsyed12 marked this pull request as ready for review August 31, 2026 19:48
@haseebsyed12
haseebsyed12 requested a review from a team August 31, 2026 19:48
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.

2 participants