-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
feat(bin): Add graceful shutdown for helm command #9520
feat(bin): Add graceful shutdown for helm command #9520
Conversation
88220e6
to
11401bb
Compare
11401bb
to
a09c6eb
Compare
Hi @plumpy, please check the PR, because it's very important, especially with these changes #9451, because if a user executes parallel package installation and interrupts it, all the packages will remain in pending state, because skaffold kills the helm command execution on context cancellation. |
Okay, I played around with this some. For testing, I made my own little binary that waits for a From playing around with that, it seems to me like you can just use the built-in support in the
I tried a variety of combinations, where the process is still running after |
Signed-off-by: Suleiman Dibirov <[email protected]>
Signed-off-by: Suleiman Dibirov <[email protected]>
a09c6eb
to
3a81af0
Compare
Hopefully relatively soon, but we need to figure out why the internal presubmits are failing. |
@plumpy if you mean this error
(c) https://github.com/GoogleContainerTools/skaffold/actions/runs/11976028911/job/33390752067 then it looks like the secret |
No, not that error, we need to fix that too, but I'm less concerned about that. I'm talking about the kokoro errors, which is what actually builds, signs, and publishes the release. You won't have access to those logs unfortunately. |
Description
Added graceful shutdown for helm command
the CommandContext kills the process when we cancel the context
it leads to an inconsistent state in helm charts, the helm left chart in "pending-install" state.
How to reproduce the issue:
Ctrl/CMD + C
helm status {releaseName}
, the status will be "pending-install"helm another operation (install/upgrade/rollback) is in progress
This fix gives the helm 15 seconds to rollback(if you pass
--atomic
) and/or save the actual(failed
) state of the release