ERF42-9666: HTTP boot requires proxy with httpboot feature and http_port exposed setting

Root cause

HTTP Boot requires a foreman-proxy to be associated with host/hostgroup subnet of the provisioning interface. The foreman-proxy also needs HTTP or HTTPS ports exposed, depending on the PXE loader (e.g. Grub2 HTTP UEFI or Grub2 HTTPS UEFI). The default installation enabled HTTPS, but HTTP is off by default. It can be enabled with the following command:

foreman-installer \
  --foreman-proxy-http true

To enable HTTP boot module the TFTP feature must be turned on because TFTP and HTTP boot features share the same directory for boot files:

foreman-installer \
 --foreman-proxy-tftp true

There is a advanced setting which is hidden by default which is enabled by default but check if that hasn't been disabled by mistake:

foreman-installer \
 --foreman-proxy-http true \
 --foreman-proxy-httpboot true \
 --foreman-proxy-tftp true

Alternative root cause

Already registered smart-proxies must be refreshed via Refresh button/command to read newly exposed port numbers after Foreman upgrade.