-
Notifications
You must be signed in to change notification settings - Fork 113
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鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for background cascading deletion #2529
Comments
Thanks for opening this feature request @chirauki , I've added it to our project board. |
@chirauki could you answer some clarifying questions?
Pulumi has support for skipping the await logic using the To my understanding, the default behavior of |
Hi!
I found this with a controller developed by the company I work with, but it's not open source, so I'm not at liberty to share. I found some references to older versions of cert-manager having a similar problem, but I don't know of any other controller that might have this problem.
I don't think it has to do with waiting according to docs: https://kubernetes.io/docs/concepts/architecture/garbage-collection/#cascading-deletion. As you can see, there are some differences between foreground and background cascading deletion, and I think the controller that watches those resources needs to account for that (which means we need to fix our controller to work both ways). In our case, I tested both methods using So, from our side, we've added a pulumi local command that runs |
I do have a theory on how foreground deletion could be a problem for some controllers: With foreground cascading deletion, the controller must be careful to not finalize the object prematurely, that is, when there's multiple finalizers. A given object could have Here's a similar issue in ArgoCD: argoproj/argo-cd#5724 @chirauki this comment seems to answer the mystery of cert-manager. I accept there's good reason to use background deletion in some cases, and would agree that Pulumi could support it with an override. |
Hi I ran into this issues using the mariadb-operator version 0.27.0. Hope it can be fixed. |
Hello!
Issue details
I can't find any reference in docs, but it looks like this provider only supports foreground cascading deletion:
https://github.com/pulumi/pulumi-kubernetes/blob/master/provider/pkg/await/await.go#L675-L683
This causes problems with some custom controllers from third-party providers that do not support well this method, but handle correctly background cascading deletion. Since background cascading deletion is the default in
kubectl
and Kubernetes API, this leads to some time troubleshooting as the Pulumi provider cannot delete resources thatkubectl
can.The text was updated successfully, but these errors were encountered: