Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LP1988340: efi-pxeboot test marks HTTP boot as failure #152

Closed
beliaev-maksim opened this issue Nov 28, 2022 · 3 comments
Closed

LP1988340: efi-pxeboot test marks HTTP boot as failure #152

beliaev-maksim opened this issue Nov 28, 2022 · 3 comments
Assignees
Labels
bug Something isn't working FromLaunchpad

Comments

@beliaev-maksim
Copy link
Member

This issue was migrated from https://bugs.launchpad.net/plainbox-provider-checkbox/+bug/1988340

Summary

Status Created on Heat Importance Security related
New 2022-08-31 18:53:58 6 Low False

Description

The efi-pxeboot.py test script looks for keywords like "PXE" and "Network" in the boot order strings to determine whether the machine booted from hard disk or network. I originally thought the following submission showed a false alarm failure because the machine booted via HTTP rather than PXE:

https://certification.canonical.com/hardware/202007-28031/submission/278208/

On closer examination, the machine booted from hard disk, but has an HTTP-boot option that should have been used but wasn't. The description includes the string "Network", which is searched for, so it SHOULD work; however, adding "HTTP" to the searched-for keywords would be worthwhile.

Attachments

No attachments

Tags:
[]

@beliaev-maksim beliaev-maksim added bug Something isn't working FromLaunchpad labels Nov 28, 2022
@pieqq pieqq added enhancement New feature or request and removed bug Something isn't working labels Jan 18, 2024
Copy link

Thank you for reporting us your feedback!

The internal ticket has been created: https://warthogs.atlassian.net/browse/CHECKBOX-1183.

This message was autogenerated

@kissiel kissiel added bug Something isn't working and removed enhancement New feature or request labels Jan 18, 2024
@rodwsmith
Copy link
Collaborator

This doesn't look like a bug to me. The test output summarizes it pretty well, I think:

The current boot item is 0000
The first BootOrder item is 0009
The description of Boot0000 is 'ubuntu HD(1,GPT,5db5408f-5072-4597-a8fb-509ec4081ef8,0x800,0x100000)/File(\EFI\UBUNTU\SHIMX64.EFI)'
The description of Boot0009 is 'UEFI: Slot6 Port0 HTTP IPv4 Intel(R) Ethernet Network Adapter X710-2 for OCP NIC 3.0 PciRoot(0x3)/Pci(0x3,0x3)/Pci(0x0,0x0)/MAC(6805cab1ac7c,1)/IPv4(0.0.0.00.0.0.0,0,0)/Uri()..BO'
WARNING: The system is booted using Boot0000, but the first
boot item is Boot0009!
FAIL: The system has booted directly from the hard disk!

In other words, the EFI boot order specifies that Boot0009 (to boot using HTTP/network) should be used; however, the machine actually booted using Boot0000 (a boot from the hard disk). Note that the test, by explicit intent, tests how the machine actually booted, not how the machine is configured to boot. Chances are something went wrong with the HTTP/network boot. The test should fail in this case, and did. Further hands-on debugging is necessary to determine why the HTTP/network boot failed -- checking log files and/or monitoring the boot process via a (possibly remote) console, for instance.

All that said, the string "HTTP" could be added to the search strings in efi-pxeboot.py. Doing so would not affect the results in this case, though, since the strings "Ethernet" and "Network" both already correctly match. I'm reluctant to add more keywords that match the network-boot case because every additional matching keyword poses a risk of an incorrect match -- if a system has a disk-boot option with a description with a network-matching keyword, then the script may incorrectly classify a disk-booted system as having booted from the network. The risk of this happening with "HTTP", or any of the other six existing keywords, is low, particularly from a stock Ubuntu boot loader installation; but I'd prefer to keep this list as short as possible. I have yet to encounter a system in which "HTTP" is present without any of the other six keywords, so in the absence of such a case, my preference is to keep "HTTP" out of the list.

@kissiel
Copy link
Contributor

kissiel commented Jan 18, 2024

Fantastic explanation, thank you very much!
With all of that in mind, indeed it looks like the current situation is the preferred one.

Closing the bug.

@kissiel kissiel closed this as completed Jan 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working FromLaunchpad
Projects
None yet
Development

No branches or pull requests

4 participants