-
Notifications
You must be signed in to change notification settings - Fork 212
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
Separate gorotine for "Reboot required" #725
Labels
keep
This won't be closed by the stale bot.
Comments
This issue was automatically considered stale due to lack of activity. Please update it and/or join our slack channels to promote it, before it automatically closes (in 7 days). |
Let's keep this opened |
evrardjp
added a commit
to evrardjp/kured
that referenced
this issue
Nov 11, 2024
Without this patch, one metric could say "reboot is required" while the rebootAsRequired tick did not run (long period for example). This is a problem, as it leads to misexpectations: "Why did the system not reboot, while the metrics indicate a reboot was required". This solves it by inlining the metrics management within the rebootAsRequired goroutine. Closes: kubereboot#725 Signed-off-by: Jean-Philippe Evrard <[email protected]>
evrardjp
added a commit
to evrardjp/kured
that referenced
this issue
Feb 4, 2025
Without this patch, one metric could say "reboot is required" while the rebootAsRequired tick did not run (long period for example). This is a problem, as it leads to misexpectations: "Why did the system not reboot, while the metrics indicate a reboot was required". This solves it by inlining the metrics management within the rebootAsRequired goroutine. Closes: kubereboot#725 Signed-off-by: Jean-Philippe Evrard <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello,
to my knowledge, it is currently not possible to find out beforehand that a reboot is required over the logs.
When I understand the code correctly, then
kured/cmd/kured/main.go
Line 697 in ad1e9b8
is only executed during the reboot time window in the rebootAsRequired gorotine.
Outside reboot time window:
Due to separate gorotine gomaintainRebootRequiredMetric metric is updated accordingly and indicates that a reboot is in fact required:
When kured is in the reboot time window, reboot is required (and it is possible to acquire the lock) then the drain and reboots follows quickly:
In my opinion, it defeats the purpose to log "Reboot required" just before the reboot.
I think it would be better to check the sentinel and log "Reboot required" over a separate gorotine outside the reboot time window like it is done with the maintainRebootRequiredMetric gorotine. Then there would also be no mismatch between the two.
What do you think?
The text was updated successfully, but these errors were encountered: