Clean up orphaned sveltos-agent version ConfigMaps - #502
Merged
gianlucam76 merged 1 commit intoAug 30, 2026
Merged
Conversation
removeSveltosAgentFromManagementCluster tears down every resource in the sveltos-agent manifest for a cluster that's gone, but never touched the sa-* version ConfigMap since that gets written by the running agent itself, not deployed as part of the manifest. Left unowned and never cleaned up, these accumulate without bound - one NKS cell had ~2000 of them from nothing but a canary probe's create/delete cycle. Delete it last, after every manifest resource (including the deployment) already has a delete issued, and propagate the error instead of swallowing it like the rest of that function does: cleanClusterStaleResources turns a failure here into a requeue, so this gets retried through both the reconciler and the periodic sweep instead of just giving up.
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.
Fixes the sveltos-agent side of gianlucam76's approach from libsveltos#670 (owner-reference PR closed in favour of this) - companion PRs: projectsveltos/libsveltos#671 and a matching one against addon-controller for the drift-detection side.
removeSveltosAgentFromManagementCluster deletes every resource in the sveltos-agent manifest for a cluster once it's gone, but the sa-* version ConfigMap isn't part of that manifest - it's written by the agent itself at runtime - so it was never cleaned up. These accumulate without bound: one NKS cell had ~2000 of them from nothing but a canary probe's create/delete cycle (ORC-294).
This adds the ConfigMap delete after every manifest resource (deployment included), using the new
DeleteSveltosAgentVersionfrom libsveltos, and propagates its error instead of swallowing it like the rest of the function does -cleanClusterStaleResourcesalready turns a failure here into a requeue, so this gets picked up again by both the reconciler and the periodic sweep rather than being dropped.Needs a libsveltos version pinned that includes DeleteSveltosAgentVersion; will update the pin once that's tagged rather than the commit pseudo-version this currently uses.