[Helm/Release] uninstall should be able to wait #1739
Labels
area/helm
helm-release-ga-blockers
Items blocking Helm Release GA
kind/bug
Some behavior is incorrect or out of spec
resolution/fixed
This issue was fixed
Milestone
Issue details
When installing a series of helm charts, using the preview helm releases feature, and there is a dependency chain between these helm releases and other resources, destroying the stack does not wait for the helm releases that have dependee resources, so the dependees with finalizers (owned by the helm release) are orphaned and the destroy eventually times out and fails.
Steps to reproduce
The following is a dotnet/c# code extract of a very specific case that captures the gist of the issue:
TL;DR: kps helm release depends on aws lbc helm release since it creates ingress records that are annotated accordingly for the aws lbc and will have the side effect of creating an aws alb for the given group. The dependency in this case is not so much for creation as deletion, since the aws lbc injects a finalizer into the ingress record so that it can tear down the aws alb when the reference count goes to 0. If the aws lbc is deleted first then the ingress records will be orphaned waiting for the finalizer and subsequently the monitoring namespace containing the ingress records cannot be deleted either.
It's obviously important to respect the dependency chain, specifically tearing down resources in the chain in reverse order, but as part of that process it needs to synchronously wait for dependee resources to complete their tear down before continuing.
I'm not sure if it's better to only wait if configured accordingly, or through tracked dependencies; or to always wait, which would simplify the implementation, assuming it would not impact performance by blocking concurrent destruction of resources, and given that destroying a stack should ultimately wait for all resources to be destroyed anyway.
References:
wait
andtimeout
optionsThe text was updated successfully, but these errors were encountered: