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.

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 4 times, most recently 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
@haseebsyed12 haseebsyed12 added the upgrade-impact Requires operator action to upgrade; needs a changelog.d/ release note fragment label Sep 1, 2026
@haseebsyed12
haseebsyed12 force-pushed the openstack-sync-plugin-ironic-runbooks branch from 641d20c to e610929 Compare September 1, 2026 18:59
@haseebsyed12
haseebsyed12 force-pushed the openstack-sync-plugin-ironic-runbooks branch from e610929 to f4f810f Compare September 2, 2026 14:32
Comment thread .pre-commit-config.yaml
name: Component Docs Check
description: Ensure every ArgoCD Application template has a component docs page.
entry: python scripts/check-component-docs.py
entry: python3 scripts/check-component-docs.py

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.

Was this failing?

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

Labels

upgrade-impact Requires operator action to upgrade; needs a changelog.d/ release note fragment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants