Skip to content

prune against every credential group's desired resources - #2317

Closed
haseebsyed12 wants to merge 1 commit into
openstack-sync-plugin-ironic-runbooksfrom
openstack-sync-prune-across-credentials
Closed

prune against every credential group's desired resources#2317
haseebsyed12 wants to merge 1 commit into
openstack-sync-plugin-ironic-runbooksfrom
openstack-sync-prune-across-credentials

Conversation

@haseebsyed12

Copy link
Copy Markdown
Contributor

A plugin prunes by its own ownership marker, which records no credential, and what a connection lists depends on its token: a system-scoped credential sees what a project-scoped one manages, and every credential sees what is public. Handing each group only its own desired specs therefore offered the other group's resources up for deletion, so whichever credential pruned first could delete a resource whose CR still existed.

Prune now receives the union. The tradeoff is that two credentials managing the same resource name keep each other's resource off the prune list, which leaks it if they are separate clouds; that is the safer direction, and the plugin contract now says so.

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.

A plugin prunes by its own ownership marker, which records no credential, and
what a connection lists depends on its token: a system-scoped credential sees
what a project-scoped one manages, and every credential sees what is public.
Handing each group only its own desired specs therefore offered the other
group's resources up for deletion, so whichever credential pruned first could
delete a resource whose CR still existed.

Prune now receives the union. The tradeoff is that two credentials managing
the same resource name keep each other's resource off the prune list, which
leaks it if they are separate clouds; that is the safer direction, and the
plugin contract now says so.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@haseebsyed12
haseebsyed12 marked this pull request as ready for review September 8, 2026 13:34
@haseebsyed12
haseebsyed12 deleted the openstack-sync-prune-across-credentials branch September 9, 2026 05:35
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