It looks like the deployment works, whats failing is booting into the
deployed system. There appears to be two bugs here
1. When a deployment occurs Curtin configures the system to boot locally after
trying to boot over the network. This doesn't appear to be happening.
2. GRUB isn't able to see any of the local disks.
When GRUB fails to find a local bootloader it falls back on booting the
next configured device. This should be the local system but because
Curtin never configures local boot system firmware is started.
** Also affects: curtin
Importance: Undecided
Status: New
** Also affects: grub
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of curtin
developers, which is subscribed to curtin.
https://bugs.launchpad.net/bugs/1900695
Title:
MAAS fails to deploy HPE DL380 Gen10 when virtual install drive is
enabled
Status in curtin:
New
Status in grub:
New
Status in MAAS:
New
Bug description:
# ENVIRONMENT
MAAS version (SNAP):
maas 2.8.2-8577-g.a3e674063 8980 2.8/stable canonical✓ -
MAAS was cleanly installed. KVM POD setup works.
MAAS status:
bind9 RUNNING pid 9258, uptime 15:13:02
dhcpd RUNNING pid 26173, uptime 15:09:30
dhcpd6 STOPPED Not started
http RUNNING pid 19526, uptime 15:10:49
ntp RUNNING pid 27147, uptime 14:02:18
proxy RUNNING pid 25909, uptime 15:09:33
rackd RUNNING pid 7219, uptime 15:13:20
regiond RUNNING pid 7221, uptime 15:13:20
syslog RUNNING pid 19634, uptime 15:10:48
Machine:
HPE DL380 Gen10
Storage - comissioning output:
"NAME": "sda", (virtual install drive)
"MODEL": "LUN 00 Media 0",
/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1:1.0/host0/target0:0:0/0:0:0:0/block/sda
"SIZE": "536870912",
"NAME": "sdb", Embedded RAID 1 : HPE Smart Array P816i-a SR Gen10 - 894.2
GiB, RAID1 Logical Drive 1
"MODEL": "LOGICAL VOLUME",
"PATH": "/dev/sdb",
"DEVPATH":
"/devices/pci0000:5b/0000:5b:00.0/0000:5c:00.0/host1/target1:1:0/1:1:0:0/block/sdb",
"SIZE": "960163569664",
"NAME": "sdc", (HPE Smart Array P816i-a SR Gen10 - 447.1 GiB, RAID1 Logical
Drive 2)
"MODEL": "LOGICAL VOLUME",
"PATH": "/dev/sdc",
"DEVPATH":
"/devices/pci0000:5b/0000:5b:00.0/0000:5c:00.0/host1/target1:1:0/1:1:0:1/block/sdc",
"SIZE": "480070426624",
# PROBLEM DESCRIPTION
MAAS fails to reboot into deployed OS. "Local" menu entry in MAAS provided
grub.cfg fails to instruct grub to find the bootloader on the local drives and
forces to use fallback to EFI boot order.
Root cause
0) identify install device:
2020-10-20T06:56:37+00:00 cmp3az2cz20300kv8 cloud-init[2459]:
get_path_to_storage_volume for volume sdb({'grub_device': True, 'id': 'sdb',
'model': 'LOGICAL VOLUME', 'name': 'sdb', 'ptable': 'gpt', 'serial':
'600508b1001cade9268ac61a1c3cee4b', 'type': 'disk', 'wipe': 'superblock'})
Grub is configured not to touch NVRAM:
2020-10-20T06:57:01+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Transferred
{'grub2': 'grub2 grub2/update_nvram boolean false',
1) MAAS installs grub on the machine:
2020-10-20T06:57:02+00:00 cmp3az2cz20300kv8 cloud-init[2459]: start:
cmd-install/stage-curthooks/builtin/cmd-curthooks: Installing packages on
target system: ['efibootmgr', 'grub-efi-amd64', 'grub-efi-amd64-signed',
'shim-signed']
2020-10-20T06:57:09+00:00 cmp3az2cz20300kv8 cloud-init[2459]: finish:
cmd-install/stage-curthooks/builtin/cmd-curthooks: SUCCESS: Installing packages
on target system: ['efibootmgr', 'grub-efi-amd64', 'grub-efi-amd64-signed',
'shim-signed']
2020-10-20T06:57:43+00:00 cmp3az2cz20300kv8 cloud-init[2459]: start:
cmd-install/stage-curthooks/builtin/cmd-curthooks/install-grub: installing grub
to target devices
2020-10-20T06:57:43+00:00 cmp3az2cz20300kv8 cloud-init[2459]: setup grub on
target /tmp/tmpxf91lob9/target
2020-10-20T06:57:43+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Found primary
UEFI ESP: sdb-part1
2020-10-20T06:57:43+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Found UEFI
ESP(s) for grub install: ['sdb-part1']
2020-10-20T06:57:43+00:00 cmp3az2cz20300kv8 cloud-init[2459]:
get_path_to_storage_volume for volume sdb-part1({'device': 'sdb', 'flag':
'boot', 'id': 'sdb-part1', 'name': 'sdb-part1', 'number': 1, 'offset':
'4194304B', 'size': '536870912B', 'type': 'partition', 'uuid':
'17649a3f-6e9a-445c-a20a-74914d4c5f88', 'wipe': 'superblock'})
2020-10-20T06:57:43+00:00 cmp3az2cz20300kv8 cloud-init[2459]:
get_path_to_storage_volume for volume sdb({'grub_device': True, 'id': 'sdb',
'model': 'LOGICAL VOLUME', 'name': 'sdb', 'ptable': 'gpt', 'serial':
'600508b1001cade9268ac61a1c3cee4b', 'type': 'disk', 'wipe': 'superblock'})
2020-10-20T06:57:44+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Applying grub
debconf_selections config:
2020-10-20T06:57:44+00:00 cmp3az2cz20300kv8 cloud-init[2459]:
{'debconf_selections': {'grub': 'grub-pc grub-efi/install_devices multiselect
/dev/disk/by-id/scsi-3600508b1001cade9268ac61a1c3cee4b-part1'}}
2020-10-20T06:57:44+00:00 cmp3az2cz20300kv8 cloud-init[2459]: installing grub
to target=/tmp/tmpxf91lob9/target devices=['/dev/sdb1'] [replace_defaults=None]
2020-10-20T06:57:44+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Running command
['unshare', '--fork', '--pid', '--', 'chroot', '/tmp/tmpxf91lob9/target',
'dpkg', '--print-architecture'] with allowed return codes [0] (capture=True)
2020-10-20T06:57:44+00:00 cmp3az2cz20300kv8 cloud-init[2459]: grub: moved
/tmp/tmpxf91lob9/target/etc/default/grub.d/50-cloudimg-settings.cfg out of the
way
2020-10-20T06:57:44+00:00 cmp3az2cz20300kv8 cloud-init[2459]: updated
/tmp/tmpxf91lob9/target/etc/default/grub to set:
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8
nvme_core.multipath=0"
2020-10-20T06:57:44+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Using grub
install command: grub-install
2020-10-20T06:57:44+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Grub install
cmds:
2020-10-20T06:57:44+00:00 cmp3az2cz20300kv8 cloud-init[2459]: [['efibootmgr',
'-v'], ['dpkg-reconfigure', 'grub-efi-amd64'], ['update-grub'],
['grub-install', '--target=x86_64-efi', '--efi-directory=/boot/efi',
'--bootloader-id=ubuntu', '--recheck', '--no-nvram'], ['efibootmgr', '-v']]
2020-10-20T06:57:46+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Running
command ['unshare', '--fork', '--pid', '--', 'chroot',
'/tmp/tmpxf91lob9/target', 'grub-install', '--target=x86_64-efi',
'--efi-directory=/boot/efi', '--bootloader-id=ubuntu', '--recheck',
'--no-nvram'] with allowed return codes [0] (capture=True)
2) MAAS sets up the boot order to ensure PXE boot:
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Setting
currently booted 0016 as the first UEFI loader.
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: New UEFI boot
order:
0016,0000,000B,000C,0018,001A,0010,0012,001C,001E,000A,0014,0001,0002,0003,0004,0005,0006,0007,0008,0009
Note that the boot order set is:
0016 - NIC (PXE IPv4)
0000 - fail to system utilities
There device where the OS is installed (Boot000B) is futher down in
the boot order.
Consult below:
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Running command
['unshare', '--fork', '--pid', '--', 'chroot', '/tmp/tmpxf91lob9/target',
'efibootmgr', '
-o',
'0016,0000,000B,000C,0018,001A,0010,0012,001C,001E,000A,0014,0001,0002,0003,0004,0005,0006,0007,0008,0009']
with allowed return codes [0] (capture=False)
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: BootCurrent:
0016
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Timeout: 0
seconds
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: BootOrder:
0016,0000,000B,000C,0018,001A,0010,0012,001C,001E,000A,0014,0001,0002,0003,0004,0005,0006,0007
,0008,0009
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0000*
System Utilities
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0001
Embedded UEFI Shell
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0002
Diagnose Error
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0003
Intelligent Provisioning
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0004 Boot
Menu
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0005
Network Boot
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0006 View
Integrated Management Log
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0007 HTTP
Boot
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0008 PXE
Boot
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0009
Embedded Diagnostics
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot000A*
Generic USB Boot
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot000B*
Embedded RAID 1 : HPE Smart Array P816i-a SR Gen10 - 447.1 GiB, RAID1 Logical
Drive 2(Target:0,
Lun:1)
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot000C*
Embedded RAID 1 : HPE Smart Array P816i-a SR Gen10 - 894.2 GiB, RAID1 Logical
Drive 1(Target:0,
Lun:0)
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0010* Slot
1 Port 1 : HPE Ethernet 10Gb 2-port 562SFP+ Adapter - NIC (HTTP(S) IPv4)
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0012* Slot
1 Port 1 : HPE Ethernet 10Gb 2-port 562SFP+ Adapter - NIC (PXE IPv4)
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0014*
Embedded FlexibleLOM 1 Port 1 : HPE Ethernet 1Gb 4-port 366FLR Adapter - NIC
(HTTP(S) IPv4)
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0016*
Embedded FlexibleLOM 1 Port 1 : HPE Ethernet 1Gb 4-port 366FLR Adapter - NIC
(PXE IPv4)
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0018* Slot
4 Port 1 : HPE Ethernet 10Gb 2-port 562SFP+ Adapter - NIC (HTTP(S) IPv4)
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot001A* Slot
4 Port 1 : HPE Ethernet 10Gb 2-port 562SFP+ Adapter - NIC (PXE IPv4)
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot001C* Slot
3 Port 1 : HPE Ethernet 10Gb 2-port 562SFP+ Adapter - NIC (HTTP(S) IPv4)
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot001E* Slot
3 Port 1 : HPE Ethernet 10Gb 2-port 562SFP+ Adapter - NIC (PXE IPv4)
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: Boot0020
Trigger ready-to-boot event
3) Finalize configuration:
2020-10-20T06:57:49+00:00 cmp3az2cz20300kv8 cloud-init[2459]: finish:
cmd-install/stage-late/maas: SUCCESS: running 'wget --no-proxy
http://10-216-240-0--23.maas-internal:5248/MAAS/metadata/latest/by-id/dfkxqh/
--post-data op=netboot_off -O /dev/null'
4) The server is instructed to reboot. During the reboot is uses MAAS
provided grub.cfg:
2020-10-20 06:59:36 provisioningserver.rackdservices.tftp: [info]
/grub/grub.cfg-d4:f5:ef:02:28:94 requested by 10.216.240.106
MAAS provides grub configuration as follows:
ubuntu@inf1az1cz202904rz:~$ curl
tftp://10.216.240.1/grub/grub.cfg-d4:f5:ef:02:28:94
set default="0"
set timeout=0
menuentry 'Local' {
echo 'Booting local disk...'
for bootloader in \
boot/bootx64.efi \
ubuntu/shimx64.efi \
ubuntu/grubx64.efi \
centos/shimx64.efi \
centos/grubx64.efi \
redhat/shimx64.efi \
redhat/grubx64.efi \
rhel/shimx64.efi \
rhel/grubx64.efi \
red/grubx64.efi \
Microsoft/Boot/bootmgfw.efi; do
search --set=root --file /efi/$bootloader
if [ $? -eq 0 ]; then
chainloader /efi/$bootloader
boot
fi
done
# If no bootloader is found exit and allow the next device to boot.
exit
}
Unfortunately this configuration fails to find a bootloader and as
such it is dropped to next boot entry, that is to Boot0000* System
Utilities.
When in grub environment, following variables are set:
grub> set
grub_platform=efi
cmd_path=(tftp,10.216.240.1)
net_default_interface=efinet3
net_default_ip=10.216.240.106
net_default_mac=d4:f5:ef:02:28:94
net_default_server=10.216.240.1
net_efinet3_boot_file=bootx64.efi
net_efinet3_domain=mgt.tlc.cloud
net_efinet3_ip=10.216.240.106
net_efinet3_mac=d4:f5:ef:02:28:94
net_efinet3_next_server=10.216.240.1
package_version=2.02-2ubuntu8.18
prefix=(tftp,10.216.240.1)/grub
pxe_default_server=10.216.240.1
root=tftp,10.216.240.1
grub> ls
(memdisk) (hd0) (hd0,gpt1)
grub> ls (hd0)
(hd0): Filesystem is unknown.
grub> (hd0,gpt1)
(hd0,gpt1): Filesystem is unknown.
grub> ls (memdisk)
(memdisk): Filesystem is fat.
grub> ls (memdisk)/
grub.cfg
grub> cat (memdisk)/grub.cfg
if [ -e $prefix/x86_64-efi/grub.cfg; ] then
source $prefix/x86_64-efi/grub.cfg
else
source $prefix/grub.cfg
fi
Trying to run the MAAS provided config fails:
grub> search --set=root --file /efi/boot/bootx64.efi
error: no such device: /efi/boot/bootx64.efi
Grub does not see the logical volumes (sdb, sdc) hosted on hardware
raid controller when VID is enabled.
After disabling the VID (Intelligent Provisioning->BIOS/Platform
Configuration(RBSU)->USB options->Virtual Install Disk-Disable), grub enlists
all the partitions:
grub> ls
(hd0) (hd0,gpt2) (hd0,gpt1) (hd1)
grub> search --set=root --file /efi/boot/bootx64.efi
hd0,gpt1
To manage notifications about this bug go to:
https://bugs.launchpad.net/curtin/+bug/1900695/+subscriptions
--
Mailing list: https://launchpad.net/~curtin-dev
Post to : [email protected]
Unsubscribe : https://launchpad.net/~curtin-dev
More help : https://help.launchpad.net/ListHelp