Bug 2171172

Summary: The iPXE workflow based on undionly-ipxe.0 fails to start system build for a VM in a libvirt hypervisor
Product: Red Hat Satellite Reporter: Sayan Das <saydas>
Component: ProvisioningAssignee: satellite6-bugs <satellite6-bugs>
Status: NEW --- QA Contact: Satellite QE Team <sat-qe-bz-list>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.13.0CC: lstejska, shwsingh, sshtein
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Boot Loop while using UNDI none

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