UEFI clients are capable of booting from HTTP or HTTPS if they are given a valid URL via DHCP filename option. Publishing required files is achieved with module which will publish tftp directory via http and https on /EFI endpoint for HTTP BOOT UEFI and /httpboot for generic http boot (iPXE) with the same content. Because we do lack installer support for this feature for now, few steps are needed to configure Satellite so it servers boot files over http:
1. Enable HTTPBoot plugin:
In /etc/foreman-proxy/settings.d/httpboot.yml set ":enabled: true"
2. Restart services, so config change will take effect:
# foreman-maintain service restart
3. In webUI refresh integrated capsules features with Infrastructure -> Capsules -> <satellite's capsule> -> Refresh features and make sure "HTTPBoot" is now listed in "Active features" there
4. Assign this HTTPBoot capsule to to the subnet(s): Infrastructure -> Subnets -> <subnet> -> Capsules and select the capsule and press "Submit"
5. Now when creating a host, on "Operating system" tab set "PXE Loader" to "Grub2 UEFI HTTP"
this will cause grub2 on provisioned machine to download "http://<httpboot_capsule>:9090/httpboot/grub2/grubx64.efi". That file is being served from "/var/lib/tftpboot/..." directory.
*** Bug 1619291 has been marked as a duplicate of this bug. ***
Implement UEFI HTTP Boot provisioning support for Satellite 6
Ongoing. There is an upstream prototype but there are some major issues in grub2 at the moment and the feature does not work correctly. We are putting this feature back on backlog until changes are done on the RHEL side (grub2).