-
Notifications
You must be signed in to change notification settings - Fork 131
[Deploy] Fixes for smooth ArgoCD uninstall #2847
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
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
Contributor
Author
|
/build |
Collaborator
|
Hi @claudiolor. Thanks for your PR! I am @adamjensenbot.
Make sure this PR appears in the liqo changelog, adding one of the following labels:
|
2a81120 to
b23f5d6
Compare
Contributor
Author
|
/build |
Contributor
Author
|
/build |
21a7518 to
8aa4fe6
Compare
fra98
reviewed
Dec 12, 2024
pkg/liqo-controller-manager/networking/internal-network/route/internalnode_controller.go
Outdated
Show resolved
Hide resolved
pkg/liqo-controller-manager/networking/internal-network/route/internalnode_controller.go
Show resolved
Hide resolved
8aa4fe6 to
17f01a1
Compare
Contributor
Author
|
/build |
Contributor
Author
|
/build |
3a53b40 to
68ab1f1
Compare
fra98
approved these changes
Dec 16, 2024
Member
|
/rebase test=true |
This patch changes the labels used for the virtual kubelet deployment to avoid any conflicts with the `app.kubernetes.io/instance`, which is the label used by ArgoCD by default to track the resources belonging to an application. When this label was used, it was not possible to remove a peer as the conflict between the two labels caused controllers to not be able to get the vk deployment using labels.
This patch removes the owner reference of the physical node from the internal node, as this caused some issues with the tear down with ArgoCD. As the physical node does not belong to the application, the InternalNode (owned by it) and all the resources owned by it were not removed. The garbage collection of the InternalNode resources is performed by a controller instead.
68ab1f1 to
851d4da
Compare
Member
|
/merge |
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.
Description
Cleanly uninstall Liqo with ArgoCD was not possible due to the fact that sometimes the deleting process was stuck due to resources having finalizers that were removed after the removal of the controller-manager (in charge of removing those finalizers) and some other residual resources polluted the cluster even after Liqo removal.
This PR introduces some fixes allowing to smoothly uninstall ArgoCD provided the following conditions are verified:
Where:
app.kubernetes.io/instanceinglobalLabelstells Liqo to add that labels to all the resources created by the controllers, in this case this allows ArgoCD to track all the resources created afterwards by controllers. While:argocd.argoproj.io/sync-options: Delete=true: tells ArgoCD to remove the resources tracked with this annotation during deletionargocd.argoproj.io/sync-wave: anticipate the deletion of the resources annotated with that label, so that controllers can remove the finalizers and perform the necessary cleanup