Bug 2171172 - The iPXE workflow based on undionly-ipxe.0 fails to start system build for a VM in a libvirt hypervisor
Summary: The iPXE workflow based on undionly-ipxe.0 fails to start system build for a ...
Keywords:
Status: NEW
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Provisioning
Version: 6.13.0
Hardware: All
OS: All
unspecified
medium
Target Milestone: Unspecified
Assignee: satellite6-bugs
QA Contact: Satellite QE Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-02-18 17:18 UTC by Sayan Das
Modified: 2023-08-03 17:35 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Boot Loop while using UNDI (35.11 KB, image/png)
2023-02-18 17:29 UTC, Sayan Das
no flags Details

Description Sayan Das 2023-02-18 17:18:21 UTC
Description of problem:

From https://dxp-docp-prod.apps.ext-waf.spoke.prod.us-west-2.aws.paas.redhat.com/documentation/en-us/red_hat_satellite/6.13/html-single/provisioning_hosts/index?lb_target=preview , while following "5.2. Chainbooting iPXE from PXELinux" , The "ipxe.lkrn" method works great but not the undionly-ipxe.0.

The attempt to use undionly-ipxe.0 on a RHEL libvirt based VM  fails with the error "Network Unreachable" 


Version-Release number of selected component (if applicable):

satellite-6.13.0-6.el8sat.noarch
ipxe-bootimgs-x86-20181214-11.git133f4c47.el8.noarch

# md5sum /usr/share/ipxe/undionly.kpxe /var/lib/tftpboot/undionly-ipxe.0
f2c10b79c4c526bdc6d278f7fbe955c5  /usr/share/ipxe/undionly.kpxe
f2c10b79c4c526bdc6d278f7fbe955c5  /var/lib/tftpboot/undionly-ipxe.0


How reproducible:

Always


Steps to Reproduce:
1. Inside a RHEL Libvirt infra, install a Satellite 6.13 

2. Configure all provisioning related resources i.e. content\services\subnet\domain etc.

3. Ensure to follow the Prerequisites properly from the said documentation and also configure the "--foreman-proxy-dhcp-ipxefilename" as mentioned at the end of "5.2. Chainbooting iPXE from PXELinux"

4. Associate "PXELinux chain iPXE UNDI" template with the OS ( using which the kickstart will happen )

5. Build a Baremetal VM on the same libvirt infra

6. Use it's mac to create a Baremetal Host entry in Satellite UI using the same OS ( as step 4 ) and submit it for the build while selecting the PXELoader as "iPXE Chain BIOS " 

7. Power up the VM in the network and observe it's booting in the console.


Actual results:

** It fetches the undionly-ipxe.0 properly via tftp but then fails to load anything else. 

** Also throws an error "Network Unreachable" and then continues in an iPXE boot loop. 

( screenshot attached )


Expected results:


** It should either work properly on libvirt or if we have any specific circumstances\configuration to additionally maintain\perform, It needs to be properly documented in our Provisioning guide.

** If the said issue is expected due to some issues with the iPXE UNDI firmware\bootloader only, Perhaps we should obsolete this process [ or remove it from our scope of support ].


Additional info:

sosreport , runtime logs from satellite and a pcap file is attached

Comment 1 Sayan Das 2023-02-18 17:25:30 UTC
In the past, I had tested it on Sat 6.10 and 6.9 as well [ while it was RHEL 7 ( both satellite and my libvirt infra ) ], and then also it never worked. So I am guessing, Either I am missing something in my configuration or else There are very specific circumstances under which it will work.

It's best if we figure out what it is and then fix the docs as per the same.

The less confusing content we have in the Provisioning guide the better it would be.

Comment 2 Sayan Das 2023-02-18 17:29:37 UTC
Created attachment 1944955 [details]
Boot Loop while using UNDI


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