Unattended ISO should not auto-reboot
https://github.com/osbuild/images/blob/32bd652a96b5cc3ebb0066c29a2086fd6ce48913/pkg/manifest/anaconda_installer_iso_tree.go#L452 will create a boot loop when used with an ISO dd'd to a USB stick (this is really the default, I doubt anyone uses physical ISOs in real CD-ROM drives anymore) because we can't "eject" the USB key.
This is also part of a general problem that the kickstart has zero configurability.
@cgwalters ran into this issue earlier where after doing an unattended download it would forever reboot and my server would do a loud BEEP and reboot again..
Thought it had finished installing, but nope.
Would like to have this feature in as it'll help with installs on monitor-less servers!
Thanks for this bugreport. I was looking into this morning and two questions came up:
- It changes the existing behavior so users who rely on the auto-reboot (like our tests) will fail, I was looking into detecting a finished install via qmp:DEVICE_TRAY_MOVED events but that does not work as the eject happens only during shutdown and after the user pressed a key. I guess an alternative would be to switch to "shutdown" (which is also not ideal) or we add something like an artificial RTC_CHANGE(offset:-1) in the osbuild.ks to signal that the install is done for the tests (but other ideas welcome of course!)
- It is unclear to me if that is the behavior we want, instead we could keep the automatic reboot but instead refuse to auto-install on a disk that already has partitions. The existing behavior of just unconditionally wiping the disk seems risky. But of course that is also a behavioral change.
For virtualized testing I think anaconda should default to sending success/failure over a virtio serial/vsock. Writing success can easily be done in a %post.
For the bare metal case maybe anaconda could learn to special case things so that only trying to reinstall the exact same OS version errors out by default?