Problem:
When i build a host with Grub2 UEFI HTTP boot selected, there are no files provisionend under /var/lib/tftpboot/httpboot. So if the host boots grub2, he wont find the files for the http(s)boot.
Expected outcome:
vmlinuz and initrd files in tftboot/httpboot/ like in tftboot/boot/
Foreman and Proxy versions:
Foreman: 2.0.0-0.9.rc2.el7
Proxy: 2.0.0-0.3.rc2.el7
Foreman and Proxy plugin versions:
HTTPboot: 2.0.0-rc3
TFTP: 2.0.0-rc3
Distribution and version:
RHEL 7.7
Other relevant data:
I enabled httpboot like mentionend here.
enabled httpboot in /etc/foreman-proxy/settings.d/http.yml
enabled http and https in /etc/foreman-proxy/settings.yml (default values)
restarted the proxy
then HTTPboot is listed under Active Features in the webUI
Proxy is set in the subnet and the subnet is selected in the Host Group
foreman-proxy has read/write access to the whole folder tftboot
When i restart the proxy, the log says that httpboot and tftp got initialized successfully.
Then i click build for a host but foreman just builds the files for grub2/ and boot/. In the logs are no errors regarding httpboot, the log level is set to Debug.
URL /httpboot maps to /var/lib/tftpboot directly so TFTP and HTTP files are shared. When you provision a host, these files should be available in the boot/ subdirectory making them available via /httpboot/boot/kernel etc.
Okay, so if a host tries to boot via http it gets the files provisonend from the foreman proxy or over an apache? Currently i have no apache linked with the tftp directory.
If i try to boot a host over http (grub2) it just says it cant find the boot files and that i should load the kernel first. Over tftp it works fine. With IPXE http the system just hung up and did nothing after loading the NBP successfully.
Do i have to set up the apache to provision the files or does the foreman-proxy?
Smart proxy servers file from that folder itself, so HTTP clients are actually connecting to the 8000 port. Listing is disabled but you can try this with wget or curl. Out of my head: http://proxy:8000/httpboot/pxelinux.cfg/default if I remember one path correctly
This occurs after the host loaded Grub2 and the option “Kickstart default PXEGrub2 HTTP Boot” was chosen in the Grub menu.
The loaded grub.cfg looks like this:
Grub2 UEFI HTTPS was selected here, might be that i changed it. So i set up the machine new with just http but this didn’t help.
A wget to http://proxy:8000/httpboot/pxelinux.cfg/default results to an 404.
Do i have to set other settings other than those mentionend in the first post?