-
Notifications
You must be signed in to change notification settings - Fork 78
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
Bug: WaitTask waits for filtered resources #452
Comments
Looks like apply filters are captured as failures. So that case might not actually be a problem (just confusing naming overlap). Looks like prune filter are also captured as failures, except in the case of PreventRemoveFilterName where the inventory annotation is successfully removed. I don't know why this case is not captured. The logic around it is perplexingly complex with no comment as to why. Fixing it may cause a regression, if it was deliberate. |
The complex logic around whether to mark as a failed apply was added recently in #424 It looks like the failed applies are checked in the InvSetTask and kept in the inventory. So changing it to track the deletion might change inventory behavior in the deletion prevention use case. |
The reason for not calling taskContext.CapturePruneFailure when removeInventoryAnnotation succeeded is that TaskContext.pruneFailures are added into the inventory in the InvSetTask. |
Gotcha, yeah. We're gonna need to find another solution, because the wait needs to be skipped, and the |
Fix: #456 |
WaitTask currently ignores failed applies and failed prunes, but doesn't ignore resources skipped by filters in the ApplyTask or WaitTask.
Because WaitTasks are only added when there are dependencies (depends-on, CRDs, namespaces, etc.), this hasn't been much of a problem yet, but when using a sufficiently large/complex set of resources, it's feasible for the WaitTask to wait until timeout and fail because it's waiting for one of the following:
Suggested fix:
The text was updated successfully, but these errors were encountered: