Improve PXE loader suggestion and whitelisting
Currently PXE loader option is "suggested" in a simple way: PXELinux BIOS or PXEGrub2 UEFI for Red Hat or Debian, None for other OSes, this is fairly poor default setting. Timo has an interesting idea I am putting here:
- A Host is Bare Metal
> The Model supports a list of PXELoaders A Host on a Compute Resource
- The CR does not support PXEBooting at all
- The CR supports a list of PXELoaders (can be dynamic, for VMWare you can set the VM to either BIOS or UEFI)
- An OS supports a list of PXELoaders
- And the user might have personal preferences (a whitelist)
I think we can model this straightforward.
- As a Foreman user, I can select what PXELoaders I want to allow for a specific model.
- As a Foreman user, I don't see the PXELoader option on a host if my host is on a compute resource without pxe support (e.g. AWS).
- As a Foreman user, I can select what PXE Loaders I want to allow for a compute resource. Foreman only presents the PXELoaders that this Compute Resource supports.
- As a Foreman user, I can assign PXELoader templates to an operatingsystem
- As a Foreman user, I can sort pxeloaders by preference.
- As a Foreman user, I can deploy a host and Foreman automatically chooses a suitable PXELoader. It takes the intersection of supported loaders (from the model or CR) and what templates are assigned to the OS.