-
Notifications
You must be signed in to change notification settings - Fork 145
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
Reboot efi systems make them unusable. #3549
Comments
There is a |
I believe this is rather a question of what remote command tmt needs to run to soft reboot a guest. Apparently, WRT hard reboot, is there a better way than |
According to the rhts-reboot code,it will Not change the boot order,will change boot next to os-boot-entry, if that what you mean by "alter boot order", then I would say:users are pretty unlikely set the boot next other options, unless they don't want to login that system anymore.
I guess the answer may be run bkr system-power --clear-netboot first.according to the --clear-netboot part of the system-power doc:) |
Yes, that's what I have meant indeed, as it effectively changes the boot order temporarily (for one boot).
Unless they test bootloader-related code - I am doing that regularly.
You can login to the system after changing boot order / boot next, you just need to be careful what you change them to. |
yes,so --clear-netboot does not work for your case
Yeah, booting from network won't remove the already installed system and the boot entry unless a new installation is performed, what I mean is that the test can be continued without manually changing the boot order , after the reboot,sorry for making you confused anyway. |
Hi @skycastlelily, looking at the code, I can confirm what @pcahyna wrote. From design perspective, the That said, doing a hard reboot for testing purposes sounds like a valid use-case. Should it be handled within tmt though? @happz WDYT? Am I missing something? |
yeah, I guess you did:) for soft reboot: "I believe this is rather a question of what remote command tmt needs to run to soft reboot a guest" for hard reboot:
"Assume the machine is not responding, it's not possible to connect and run any command, no chance rstrnt-prepare-reboot" / rhts-reboot /efibootmgr -n |
@skycastlelily Touché. I see what. You are talking about
Define "remote command", but if it's run as part of the test, it's
The context in that comment is that you are forcing the machine to sudden forced reboot as part of a test - i.e. you know it in advance. If it crashes unexpectedly - then it's no different than options you have in beaker/rstraint. Will look into how the reboot step works tomorrow though. I presume it is dependent on provisioning plugins. |
To me it seems that the semantics of "hard reboot" is a bit unclear and this is the source of confusion. It seems to mean "reboot without going though the usual reboot procedure", but this could be used when the machine has locked up/is not responding, as well as being an expected part of the test (some tests will surely need to check whether something behaves properly during a system crash or power outage). The two cases are different. For the latter, |
The current semantics of "hard reboot" in tmt is the former: it is an action taken by tmt when the guest becomes unresponsive, and "hard reboot" is an action taken by the watchdog check to possibly restore the guest. Think kernel crash followed by flipping a power switch. When tmt detects this condition, tmt code tries hard to not touch the guest via channels that require the guest's cooperation. tmt shall not run any commands on the guest, even though the guest might become responsive again before the hard reboot is triggered - once it's marked as "dead", hard reboot triggered by tmt follows. For the latter, i.e. a test that wishes to validate some behavior after a crash, we would need to establish some expectations first, although the combination of the watchdog check and the crash might be good enough already: a test could enable the watchdog check, cause kernel panic, and after some failed attempts to reconnect, hard reboot followed by restarted test should give the test a chance to verify things post-crash. |
Imho this is the crucial part. Maybe let's start with - Is there something that can be done in beaker that cannot be done as easily with tmt? |
Np, I found the issue when run tmt run -l reboot, but it may also affect reboot step.And by remote command,(at least) I mean the command running on the guest to trigger the reboot, we will have rhts-reboot on all the provisioned beaker servers, and we will have reboot /shutdown -r on all the plugins support soft-reboot.
yeah,kind of, however, please note,this issue is for beaker plugin. In conclusion, you could just set a "rhts-reboot" for command, the soft-reboot issue part would be fixed:) For hard reboot part, I vote for what others say:) |
Splitting into smaller issues, focusing on just one problem of the bigger bag of trouble around reboot, should help. If there is a tangible change we can begin with, we should, probably, to make the rest of the bag smaller. |
1.Reserve an efi system
2. tmt run -l reboot (--hard)
3. failed to boot into the system anymore
We need use rhts-reboot instead of reboot for the soft-reboot:
https://beaker-project.org/docs/architecture-guide/provisioning-process.html#boot-order
In hard reboot scenario,
bkr system-power --action reboot
will be called, and it will make the efi systemboot from network instead of the anaconda created entry,just as in soft-reboot scenario mentioned above
The text was updated successfully, but these errors were encountered: