Need some pointers on setting up PXE provisioning

Problem:
I’m a Foreman newbie, currently looking to switch from our existing cobbler setup.

I’ve created a test host entry to try out bare metal provisioning. After providing all the relevant info I think the host entry needs (e.g. mac and IP address, subnet, medium, etc) I can’t get my test server to pxeboot. The test server is picking up a pxelinux.0 file from the foreman server’s tftp, which suggests that basic setup of tftp and dhcp is fine, though it’s picking that up after being assigned an IP address from the dhcp server’s address pool for unmanaged servers.

Looking at some of the internals on the server I’ve installed foreman on, there’s a couple of missing things I’d expect to see for a basic pxeboot setup, based on how our cobbler setup works:

  • While /var/lib/tftpboot exists and has been partially populated, I’m not seeing any images like initrd being installed for the OS (I’m using foreman/katello’s built-in link to an external Rocky repo)

  • Looking in the config files for dhcpd, I’m also not seeing any entry for the test host. And while I’ve configured the test host to be static, my understanding is that for pxeboot to work a temporary dhcpd entry needs to be created for the duration of the install

Does anyone have any pointers or troubleshooting suggestions? I’m not sure if I’m simply missing certain steps, or if I’ve become lost in the weeds of all the different options Foreman offers for bare metal provisioning.

Expected outcome:

tftpboot directory populated with Initrd and other images and a (temporary) dhcp entry in the dhcp config files

Foreman and Proxy versions:

hammer --version

hammer (3.12.0)

  • hammer_cli_foreman (3.12.0)
  • hammer_cli_foreman_remote_execution (unknown version)
  • hammer_cli_foreman_tasks (unknown version)
  • hammer_cli_katello (1.14.3)

Foreman and Proxy plugin versions:

Distribution and version:

Rocky Linux release 9.4 (Blue Onyx)

Other relevant data:

1 Like

@lstejska maybe someone from the provisioning crew can help here?

Both of these two features are done via the Smart Proxy.

The download of the images is done by the TFTP feature which will download on the Smart Proxy from the configured medium in Foreman, so if it is configured but fails look into the logs at /var/log/foreman-proxy.log

The DHCP integration is provided by the DHCP feature of Smart Proxy and supports multiple providers. I assume you are using ISC DHCP, then the default integration is done via omapi and creates reservations you would also see in the leases file. Look at the same location for logs.

In our training material I have a small troubleshooting guide for this in the advanced section. This could be helpful even if it is meant as a reminder at the end of the training and so it is not as detailed as it could be.