fix: clear metadata finalizers in namespace purge#538
Open
JoseSzycho wants to merge 1 commit intomainfrom
Open
fix: clear metadata finalizers in namespace purge#538JoseSzycho wants to merge 1 commit intomainfrom
JoseSzycho wants to merge 1 commit intomainfrom
Conversation
…e purge Project deletion was stuck because Phase D of the purger was trying to clear nso.Spec.Finalizers instead of nso.ObjectMeta.Finalizers. In Kubernetes, the finalizers that prevent resource deletion are stored in metadata.finalizers, not spec. This fix allows namespaces to be properly force-finalized during project deletion, preventing Phase E from timing out. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Contributor
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix project deletion stuck state caused by incorrect finalizer clearing in the project purger.
Project deletion was timing out in Phase E because Phase D was trying to clear
nso.Spec.Finalizersinstead ofnso.ObjectMeta.Finalizers. In Kubernetes, the finalizers that prevent resource deletion are stored inmetadata.finalizers, not in spec. This caused namespaces to remain in Terminating state indefinitely.Root Cause
The purger's force-finalize logic was modifying the wrong field, so namespaces never got their deletion-blocking finalizers cleared.
Fix
Changed line 198 from
nso.Spec.Finalizers = niltonso.ObjectMeta.Finalizers = nilso that the actual blocking finalizers are cleared during namespace force-finalization.Testing
🤖 Generated with Claude Code