grubnet default grub.cfg should try /grub/grub.cfg-${net_default_mac} before /grub/grub.cfg
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Fix Released
|
Undecided
|
Unassigned | ||
2.7 |
Won't Fix
|
Undecided
|
Unassigned | ||
2.8 |
Fix Committed
|
Undecided
|
Unassigned | ||
2.9 |
Fix Released
|
Undecided
|
Unassigned | ||
grub2-signed (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
MAAS uses the signed network GRUB bootloader when a machine network boots on AMD64 and ARM64. The configuration MAAS produces depends on the machine which are identified by MAC address. The default grub.cfg in the boot loader downloads /grub/grub.cfg from the remote host. As that doesn't provide the MAC address MAAS provides a default configuration file:
configfile /grub/grub.
configfile /grub/grub.
There are two issues with this:
1. This causes an additional unnecessary request.
2. It is assumed an known machine is amd64.
Can the default grub.cfg embedded in grubnet<arch>.efi be updated to
configfile /grub/grub.
configfile /grub/grub.
configfile /grub/grub.cfg
This would be similar to what PXELinux[1] does.
Related branches
- Lee Trager (community): Approve
-
Diff: 277 lines (+100/-41)4 files modifieddev/null (+0/-30)
src/provisioningserver/__main__.py (+1/-3)
src/provisioningserver/boot/tests/test_uefi_amd64.py (+83/-0)
src/provisioningserver/boot/uefi_amd64.py (+16/-8)
- MAAS Lander: Needs Fixing
- Lee Trager (community): Approve
-
Diff: 277 lines (+100/-41)4 files modifieddev/null (+0/-30)
src/provisioningserver/__main__.py (+1/-3)
src/provisioningserver/boot/tests/test_uefi_amd64.py (+83/-0)
src/provisioningserver/boot/uefi_amd64.py (+16/-8)
- Lee Trager (community): Approve
-
Diff: 275 lines (+100/-40)4 files modifieddev/null (+0/-29)
src/provisioningserver/__main__.py (+1/-3)
src/provisioningserver/boot/tests/test_uefi_amd64.py (+83/-0)
src/provisioningserver/boot/uefi_amd64.py (+16/-8)
- Alberto Donato (community): Approve
- MAAS Lander: Approve
-
Diff: 232 lines (+71/-38)4 files modifieddev/null (+0/-29)
src/provisioningserver/__main__.py (+1/-3)
src/provisioningserver/boot/grub.py (+12/-6)
src/provisioningserver/boot/tests/test_grub.py (+58/-0)
tags: | added: maas |
Changed in maas: | |
milestone: | none → 3.0.0-rc1 |
status: | New → Fix Committed |
Changed in maas: | |
status: | Fix Committed → Fix Released |
We have noticed that this is breaking enlistment in MAAS on ARM64. Using ${grub_cpu} may work but MAAS expects Debian architectures.
[1] https:/ /www.gnu. org/software/ grub/manual/ grub/grub. html#grub_ 005fcpu