Fix antctl mc join cleanup on error #7649
Open
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.
When joining a ClusterSet fails, the cleanup logic was failing to delete the ClusterSet resource because the apiVersion and kind fields were empty in the unstructured object used for rollback.
This happened because the Kubernetes controller-runtime client clears TypeMeta fields after Create() calls. The code was incorrectly using clusterSet.APIVersion and clusterSet.Kind after creation, which were now empty strings.
The fix uses hardcoded apiVersion and kind values when building the unstructured object for rollback. This follows the same pattern already used elsewhere in the codebase (e.g., join.go for Secret resources).
Added unit tests to verify the fix:
Fixes #7639