NVMe devices are chosen for boot in legacy (non-uefi) mode - but most hardware does not support it
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Won't Fix
|
Medium
|
Unassigned |
Bug Description
MAAS currently appears to choose boot devices based on the order they appear in the device list rather than with any logic (someone should perhaps confirm this).
Most server hardware does not support booting from NVMe devices unless they are in UEFI mode, but most hardware also defaults to legacy non-UEFI mode out of the box. This results in an unbootable system after deployment unless the boot device is manually changed in the MAAS UI first.
For Legacy (non-UEFI) systems we should default to a non-NVMe device if one exists to make it more likely we can boot from this device.
Triage Request: The requestor of this bug requests that this should be considered a bug rather than a feature request, as it results in systems not being bootable out of the box - and their environment is a bare metal direct-use customer environment (e.g. not orchestrated with some tool that is always modifying the disk layout).
Changed in maas: | |
status: | New → Triaged |
importance: | Undecided → Medium |
milestone: | none → next |
Changed in maas: | |
milestone: | next → 3.2.0-beta3 |
Some Notes/Thoughts that could potentially be split to a feature request:
- MAAS is already aware of UEFI/legacy boot mode during commissioning as it creates the /boot/efi partition based on that. So it seems like it wouldn't be too big an extension to switch this logic.
- I *think* it is possible to actually figure out which devices are or are not bootable, the grub "probe" logic has to do this to convert the root device to a BIOS device number (e.g. with grub-mkdevicemap) - it might be possible to leverage that instead of generically blacklisting NVMe devices which would seem preferable.
- We also seem to have some logic for updating the BIOS boot order inside of IPMI, and the same logic may be able to be extended to try and default at commission time to booting from the device at the start of the list?