In our environment we want to use Foreman to build our OCP hardware. It was working well except that the installation would repeatedly PXE boot to reinstall because Foreman would not know that the PXE portion was complete.
The standard notification code below was failing for some reason.
%post --interpreter=busybox --ignorefailure=true wget -O /dev/null <%= foreman_url %>
After running the unattended install in a Fusion VM so I could have console access I reviewed the install log and a misleading message from wget about the URL being bad. After a little digging I determine that the problem was no DNS in the ESXi installer.
Per the documentation this is expected.
Deploying ESXi 5.x using the Scripted Install feature (2004582)
Note: When ESXi 5.x is being installed using a kickstart file via PXE with DHCP enabled; the DNS settings are not available and are not saved in the configuration file.
Following what I have seen in previous installation scripts I implemented a quick fix to the Foreman OS template to add DNS settings to the installer environment so the call works and the build proceeds as expected.
%post --interpreter=busybox --ignorefailure=true # Add temporary DNS resolution so the foreman call works echo "nameserver <%= @host.subnet.dns_primary %>" >> /etc/resolv.conf echo "nameserver <%= @host.subnet.dns_secondary %>" >> /etc/resolv.conf wget -O /dev/null <%= foreman_url %> echo "Done with Foreman call"