Marking new host's NIC as "provisioning" does not suffice for PXE boot, tooltip is misleading.
|Assigned To:||Marek Hulán|
|Found in release:||Pull request:||https://github.com/theforeman/foreman/pull/4553|
|Velocity based estimate||-|
Description of problem:
On a Satellite with external DNS and DHCP services not managed by Satellite, when creating a new host (Hosts > New Host), one is required to check/uncheck a few boxes for each Network Interface on the new host.
Checking the Provision checkbox is not sufficient to have a new host successfully PXE-boot, although the tooltip says "The Provisioning interface is used for TFTP of PXELinux (or SSH for image-based hosts)".
Checking the Managed checkbox is also required in addition to the Provision checkbox, otherwise the MAC-address-based files under /var/lib/tftpboot/pxelinux.cfg/ are not generated at all.
However, the tooltip for the Managed checkbox reads, "Should this interface be managed via DHCP and DNS capsule and should it be configured during provisioning?". If I'm using external DHCP and DNS services, and not managing them from Satellite, then this tooltip will lead me to unchecking this box, thus rendering my Satellite unable to provide the PXE boot entry file i.e. /var/lib/tftpboot/pxelinux.cfg/01-<mac address>.
Version-Release number of selected component (if applicable):
Verified on 6.2.7, should apply to all 6.2.x
Steps to Reproduce:
1. Disable DNS and DHCP (and their management) on Satellite's internal capsule, while keeping TFTP enabled. Set up the DHCP server to point to the Satellite server ("next-server" option) and to look for the PXE boot loader ("filename" option).
2. On the Satellite WebUI, click Hosts > New Host, fill out the required fields.
3. On the Interface tab, configure the NIC that will be used to PXE-boot from and check its Provision box and uncheck the Managed box.
4. PXE-boot the new host.
The new host will successfully download pxelinux.0 (the boot loader) but will fail to download its entry file i.e. 01-<mac address>, thus halting the install.
The new host should download pxelinux.0 and also its 01-<mac address> file so it knows how to boot up.
Steps to fix (numbers following Steps to Reproduce):
5. On the Satellite, check that /var/lib/tftpboot/pxelinux.cfg/ indeed does not contain the 01-<mac address> file. It was just not generated.
6. Edit that same new host, checking the Managed box for the appropriate NIC.
7. PXE-boot the new host, it will successfully download pxelinux.0 and also its 01-<mac address> file, thus successfully installing to the end.
- Make the Provision checkbox enable Satellite's ability to generate the required 01-<mac address> file instead of relying on the apparently unrelated Managed checkbox.
This affects all versions of Foreman 1.8+. The managed flag should contain TFTP and ideally be more explaining. Same applies to provisioning flag. The system bahaves as expected.