Skip to content

controller: ignore deleted ClientProfiles - #646

Merged
Madhu-1 merged 1 commit into
ceph:mainfrom
Vemula-Rohith:fix-deleted-clientprofile-requeue
Oct 27, 2026
Merged

Madhu-1 merged 1 commit into
ceph:mainfrom
Vemula-Rohith:fix-deleted-clientprofile-requeue

Conversation

@Vemula-Rohith

Copy link
Copy Markdown
Contributor

Describe what this PR does

Stop the ClientProfile controller from requeuing deleted ClientProfiles.

  • Get the ClientProfile in reconcile() and return nil if it is not
    found, as the ClientProfileReplication controller does. A missing
    CephConnection is still an error.
  • Ignore NotFound from the status update. Removing the cleanup finalizer
    lets the ClientProfile be deleted before the update runs.

Two unit tests cover reconciling a missing ClientProfile and deleting
one with no referencing ClientProfileReplication. Each fails without
the matching change.

Is there anything that requires special attention

No API or behaviour change for existing ClientProfiles.

Related issues

Fixes: #645

Checklist:

  • Commit Message Formatting: Commit titles and messages follow
    guidelines in the developer
    guide
    .
  • Reviewed the developer guide on Submitting a Pull
    Request
  • Pending release
    notes

    updated with breaking and/or notable changes for the next major release.
  • Documentation has been updated, if necessary.
  • Unit tests have been added, if necessary.
  • Integration tests have been added, if necessary.

@mergify

mergify Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again.

@Madhu-1

Madhu-1 commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator

@Mergifyio rebase

@mergify

mergify Bot commented Oct 27, 2026

Copy link
Copy Markdown

rebase

❌ This pull request comes from a fork and cannot be rebased

Details

GitHub refuses an OAuth token on its rebase API for a fork, so rebasing one means impersonating a GitHub user to force-push the contributor's branch. Mergify does not do that.

Use the update action or the @mergifyio update command instead: it brings the pull request up to date by merging the base branch into it, and needs no impersonation. It only has something to do when the pull request is behind its base branch, so if what the branch needs is a linear history, its author has to rebase it themselves.

@Madhu-1

Madhu-1 commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator

@Vemula-Rohith can you please rebase the PR

@Vemula-Rohith

Copy link
Copy Markdown
Contributor Author

@Vemula-Rohith can you please rebase the PR

Yeah sure.

When a ClientProfile is deleted, reconcilePhases removes the cleanup
finalizer and the API server deletes the object. reconcile() then
updates the status of the deleted object, gets NotFound and returns
it, so the request is requeued. Every retry fails again when loading
the ClientProfile, which also returns NotFound, and the key stays in
the queue at the maximum backoff until the operator restarts.

Return early when the ClientProfile is not found, as the
ClientProfileReplication controller does, and ignore NotFound from the
status update.

Signed-off-by: Vemula-Rohith <vemularohith93@gmail.com>
@Vemula-Rohith
Vemula-Rohith force-pushed the fix-deleted-clientprofile-requeue branch from 3baef1c to 9323376 Compare October 27, 2026 06:27
@Madhu-1
Madhu-1 merged commit db9053e into ceph:main Oct 27, 2026
34 checks passed
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.

ClientProfile controller requeues deleted ClientProfiles indefinitely

2 participants