-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Consider implementing "forced" MD foreground deletion #10710
Comments
cc @vincepri @enxebre @fabriziopandini @chrischdi I think I got the most important points. |
/area machineset |
+1 |
@fabriziopandini: GuidelinesPlease ensure that the issue body includes answers to the following questions:
For more details on the requirements of such an issue, please see here and ensure that they are met. If this request no longer meets these requirements, the label can be removed In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
A couple more points:
|
The scenarios 1 and 3 described by Stefan here where propagation after giving a deletion timestamp might come in handy would benefit from enforced foreground as well #10589 (comment) |
@sbueringer ..... in reconcileDelete MDs would check for descendant MS and would delete them.... similarly we need to have finalizer and reconcileDelete in MS as well that would look for descendant Machines and once all the owned Machines get deleted, the finalizer on MS would be removed and it would deleted.... then the same thing will happen with owner MD..... Its like a chain of foreground deletions-> MD -> MS -> Machines...... |
Yup sounds perfect. Feel free to go ahead (& assign yourself the issue) |
/assign |
assign |
/assign |
/close #11174 was merged |
@sbueringer: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
User story
As a user it would be nice if a deleting MD always stays around until all underlying MachineSets and Machines are deleted.
Some details
Today MD already support foreground and background deletion. Foreground deletion has to be explicitly set by users though (e.g. via
kubectl ... --cascade=foreground
or by settingpropagationPolicy
toForeground
in DeleteOptions via client-go).I think a lot of our users are not familiar with the details of foreground vs background deletion and how to enable it (e.g. we didn't even consider setting
propagationPolicy
when deleting MachineDeployments in the Cluster topology controller).In general I think it would be better if a MD stays around until all child objects (MS / Machines) are gone (it's easier to figure out if there are still "parts" of the MD that exist). On the other side it would be nice for us if we don't have to maintain both foreground and background deletion. It makes it easier to reason through the deletion process in other controller, e.g. like the MD+MS topology controllers doing template garbage collection (we have 0 test coverage for foreground deletion there).
Additional detail: Machine & Cluster deletion today only support foreground deletion independent of what users specify (basically by implementing their own finalizer + reconcileDelete logic)
The text was updated successfully, but these errors were encountered: