-
Notifications
You must be signed in to change notification settings - Fork 982
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
[Issue:3308] SIGTERM Graceful shutdown functionality #3340
base: main
Are you sure you want to change the base?
Conversation
Any ETA on when can we expect a review on this PR? |
This would be really great to get in assuming it works, we're also experiencing this. |
Would love to see this merged |
This PR is an essential bug fix for using github runner with Karpenter. |
Karpenter support is essential to save significant cost savings across all companies. We save easily $300k+ per year, Scaling that across 1000's of tech companies, Karpenter support can easily save $50 million+ and associated CO2 Emissions. Can we prioritize reviewing and merging this PR? |
Upvote for the PR. We ended up implementing a custom image and baking in the script. However, we noticed that it is not behaving properly in |
@velkovb could I inquire as to the errors you saw when the runner did not capture the signal correctly? I have observed behavior in with ephemeral pvc's get stuck in the Have been leaning towards using the Kubernetes buildkit driver as the solution, but a side car would certainly be easier |
We were seeing errors that connection to the docker socket was lost during an image build. We get a SIGTERM signal and the runner container handles it properly but the dind one doesn't and terminates so docker host disappears and build breaks. |
This is to make runner compatible with Kubernetes' Karpenter, and in general k8s pod movement . This fixes the #3308 by handling graceful shutdown of the runner. It does following.
RUNNER_GRACEFUL_STOP_TIMEOUT
seconds before terminating or job completion whichever happens first.