Foreman Smart Proxy doesn’t deliver the user-data templates because they are not available on the proxy (good point tho, would be nice if the proxy would have this capability). Therefore, it just forwards
/userdata/ requests to the corresponding Foreman API. But, in order for this to work flawlessly, you gotta open port 8000 on the proxy and configure http forwarding as described in the orcharhino doc here.
Moreover, pay attention to your PXELinux template to reference the Proxy endpoint correctly. You have to use port 8000 on the Proxy, such that it forwards the request to your Foreman. The rendered template should look somehow like the following:
DEFAULT linux cloud-init autoinstall
LABEL linux cloud-init autoinstall
APPEND url=http://my.foreman.proxy.com/pub/installation_media/ubuntu/x86_64.iso autoinstall ds=nocloud-net;s=http://my.foreman.proxy.com:8000/userdata/ root=/dev/ram0 ramdisk_size=1500000 fsck.mode=skip cloud-config-url=/dev/null ip=dhcp locale=en_US
I would also recommend to put the iso image itself on the Smart Proxy as you can see in the
url part (in case your host may not be able to communicate with your Foreman directly).
Keep in mind - this is only important if you wanna deploy via a Smart Proxy which may have a different subnet. If your host is directly connected to your Foreman, you don’t need to use port 8000 of your proxy since it can use the Foreman directly instead.
Let me know if this helps or if you have more questions!
@LeperMessiah what Foreman version are you referring to? Did you setup the userdata template and associate it with your operating system?
I would like to install Ubuntu 22.04 via Foreman as well.
Have a look at this discussion (especially at the end). It may help you too @ryle249.