Bug 1496762 - Failed to boot ovirt-node-ng on UEFI machine.
Summary: Failed to boot ovirt-node-ng on UEFI machine.
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-node
Classification: oVirt
Component: Installation & Update
Version: 4.2
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ovirt-4.1.8
: ---
Assignee: Ryan Barry
QA Contact: cshao
URL:
Whiteboard:
Depends On: 1510858
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-09-28 10:12 UTC by cshao
Modified: 2017-12-11 16:29 UTC (History)
17 users (show)

Fixed In Version: ovirt-release-host-node-4.1.7-2
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-12-11 16:29:06 UTC
oVirt Team: Node
Embargoed:
rule-engine: ovirt-4.1+
rule-engine: blocker+
sbonazzo: devel_ack+
cshao: testing_ack+


Attachments (Terms of Use)
uefi (58.24 KB, image/png)
2017-09-28 10:12 UTC, cshao
no flags Details


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 82497 0 master MERGED node: change grub2-efi to grub2-efi-x64 2017-10-09 07:50:48 UTC
oVirt gerrit 82498 0 ovirt-4.2 MERGED node: change grub2-efi to grub2-efi-x64 2017-10-09 07:51:14 UTC
oVirt gerrit 82499 0 ovirt-4.1 MERGED node: change grub2-efi to grub2-efi-x64 2017-10-09 08:02:40 UTC
oVirt gerrit 82932 0 master ABANDONED host-node: remove %ifarch for EFI bits 2017-10-19 21:48:37 UTC
oVirt gerrit 82933 0 ovirt-4.2 ABANDONED host-node: remove %ifarch for EFI bits 2017-10-19 21:48:33 UTC
oVirt gerrit 82934 0 ovirt-4.1 ABANDONED host-node: remove %ifarch for EFI bits 2017-10-19 21:48:30 UTC
oVirt gerrit 83008 0 master MERGED host-node: be smarter about arch for EFI bits 2017-11-03 13:26:03 UTC
oVirt gerrit 83009 0 ovirt-4.2 MERGED host-node: be smarter about arch for EFI bits 2017-11-03 13:34:17 UTC
oVirt gerrit 83010 0 ovirt-4.1 MERGED host-node: be smarter about arch for EFI bits 2017-11-03 13:37:15 UTC

Description cshao 2017-09-28 10:12:45 UTC
Created attachment 1331893 [details]
uefi

Description of problem:
Fail to boot ovirt-node-ng 4.2 on UEFI machine.

Failed to open \EFI\centos\grubx64.efi - Not Found
Failed to load image \EFI\centos\grubx64.efi: Not Found
start_image() returned Not Found

Version-Release number of selected component (if applicable):
ovirt-node-ng-installer-ovirt-4.2-pre-2017092713.iso
imgbased-1.0.0-0.201709271130git0abf9bb.el7.centos.noarch
# rpm -qi imgbased | grep Build
Build Date  : Wed 27 Sep 2017 07:31:06 AM EDT
Build Host  : vm0093.workers-phx.ovirt.org


How reproducible:
100%


Steps to Reproduce:
1. Install ovirt-node-ng 4.2 - ovirt-node-ng-installer-ovirt-4.2-pre-2017092713.iso on UEFI machine.
2. Choose auto partitioning on Anaconda GUI, and finish other mandatory steps
3. Reboot.

Actual results:
Fail to boot ovirt-node-ng 4.2 on UEFI machine.

Expected results:
Boot ovirt-node-ng 4.2 on UEFI machine can successful.

Additional info:
No more log due to can't boot ovirt-node-ng.

Comment 1 cshao 2017-09-28 10:20:05 UTC
No such issue on ovirt-node-ng-4.1.2-0.20170612.0+1, so consider this is a regression bug.

Comment 2 Ryan Barry 2017-10-02 21:46:22 UTC
This looks like a regression in upstream Anaconda somewhere -- it spinlocks trying to install the bootloader when I test on a VM.

I'll try some different configurations, but may need a testing environment.

Comment 3 Malte Starostik 2017-10-07 22:32:54 UTC
I can confirm the same broken behaviour with at least ovirt-node-ng-installer-ovirt-4.1-2017070915.iso and ovirt-node-ng-installer-ovirt-4.1-2017092506.iso. Haven't tested any newer build, yet and haven't really got time to do so.
Workaround: boot in BIOS mode :-(

Comment 4 Ryan Barry 2017-10-07 22:36:41 UTC
This also has a backport to 4.1

It appears to be a problem with any centos 7.4 images

Comment 5 David Sundqvist 2017-10-11 20:08:38 UTC
Ran into it on:

ovirt-node-ng-installer-ovirt-4.1-2017100906.iso

Checking the contents on the EFI partition, there's no grubx64.efi where I assume there should be one.

Comment 6 David Sundqvist 2017-10-11 23:00:13 UTC
I found a workaround that lets you remain in UEFI mode (at least for the version I was using):

While the installer is still running drop out to a console
cp /run/install/repo/EFI/BOOT/grubx64.efi /mnt/sysimage/boot/efi/EFI/centos/

Comment 7 cshao 2017-10-18 06:30:18 UTC
Test version:
ovirt-node-ng-installer-ovirt-4.2-2017101506.iso
ovirt-node-ng-installer-ovirt-4.2-pre-2017101509.iso

Test result:
Still fail to boot ovirt-node-ng 4.2 on UEFI machine. So change bug status to Assigned.

Comment 8 Red Hat Bugzilla Rules Engine 2017-10-18 06:30:26 UTC
Target release should be placed once a package build is known to fix a issue. Since this bug is not modified, the target version has been reset. Please use target milestone to plan a fix for a oVirt release.

Comment 9 W. de Heiden 2017-10-21 15:28:54 UTC
Confirmed for oVirt Node 4.1.6 (using ovirt-node-ng-installer-ovirt-4.1-2017102006.iso): not possible to boot using uefi.

The provided workaround cp /run/install/repo/EFI/BOOT/grubx64.efi /mnt/sysimage/boot/efi/EFI/centos/ works.

Comment 10 Per Lindahl 2017-11-03 09:01:13 UTC
This is still an issue:
Version: ovirt-node-ng-4.2.0-0.20171031.0(+1?)

From what I've found there is an error in the /etc/grub2.cfg
it inserts the wrong path for kernel and initrd

(from file)
linux16 /ovirt-node-ng-4.2.0-0.20171031.0+1/vmlinuz-3.10.0-693.5.2.el7.x86_64.img

and the same for the initrd16

The right config should be:
linux16 /boot/vmlinuz-3.10.0-693.5.2.el7.x86_64.img
initrd16 /boot/....

Running after saving the change
grub2-mkconfig

and copying:cp /run/install/repo/EFI/BOOT/grubx64.efi /mnt/sysimage/boot/efi/EFI/centos/

This was done using the rescue option from USB-install-image

The suggestion is to correct the partitioning errors that has been commented previously and in other threads and ensuring that the right values are written to config files and the files are copied.

Comment 11 Ryan Barry 2017-11-03 12:38:13 UTC
The upstream patch isn't merged yet -- should be in this week.

Please be careful with /etc/grub2.cfg. The paths are relative to /boot, and oVirt Node puts the appropriate kernels in /ovirt-node-ng=${version}-${release}

They're copied to /boot on startup to work around issues with virt-v2v, but the 'right' config is the one which ships on the image. We just need grub2-efi-x86_64 to be included

Comment 12 cshao 2017-11-07 14:21:39 UTC
Ryan,

  There is no 4.1.7 upstream build available for testing now, and we will ship RHVH 4.1.7 today, so would you mind change the target milestone from 4.1.7 to 4.1.8 for this bug? 

Thanks.

Comment 13 Ryan Barry 2017-11-07 23:13:45 UTC
Please test with http://jenkins.ovirt.org/job/ovirt-node-ng_ovirt-4.1_build-artifacts-el7-x86_64/333/artifact/exported-artifacts/

This is the official 4.1.7 ISO, and grub2-efi-x64 is part of the manifest. In local testing, this works with UEFI boot

Comment 14 cshao 2017-11-08 10:29:48 UTC
(In reply to Ryan Barry from comment #13)
> Please test with
> http://jenkins.ovirt.org/job/ovirt-node-ng_ovirt-4.1_build-artifacts-el7-
> x86_64/333/artifact/exported-artifacts/
> 
> This is the official 4.1.7 ISO, and grub2-efi-x64 is part of the manifest.
> In local testing, this works with UEFI boot


Failed to install the ovirt-node-ng 4.1.7 (ovirt-node-ng-installer-ovirt-4.1-2017110715.iso), so I have to assigned this bug.

See bug 1510858.

Comment 15 Ying Cui 2017-11-08 11:06:19 UTC
MOVED the bug to ON_QA, but it is blocked by bug 1510858, QE cannot verify this bug on upstream build provided in comment 13.

Comment 16 cshao 2017-11-09 06:46:01 UTC
Test version:
ovirt-node-ng-installer-ovirt-4.1-2017110820.iso
imgbased-0.9.50-1.el7.centos.noarch

Test steps:
1. Install ovirt-node-ng-installer-ovirt-4.1-2017110820.iso on UEFI machine.
2. Choose auto partitioning on Anaconda GUI, and finish other mandatory steps
3. Reboot & login.

Test result:
Boot ovirt-node-ng on UEFI machine can successful.

So the bug is fixed, change bug status to VERIFIED.


Note You need to log in before you can comment on or make changes to this bug.