Server provisioning without PXE

foremanprovisioningpuppet

I have a lot of servers in different data centers which should be reinstalled from time to time.

I am familiar with Puppet so I am able to configure the O/S after it boots up but I can't perform an automated reinstall.

All the tools for bare metal provisioning like Foreman or Razor use advantages of iPXE booting to run a micro distro and pull all necessary kickstart or preseed files from a master server and so on. But for me it's impossible because I can't organize servers into a network with my own DHCP and iPXE, etc.

But almost all data centers I am working with have a livecd/rescue mode function.

So I thought maybe there is an automated bare metal provisioning tool which can be used if I have an SSH access to the LiveCD? It can either simply SSH into system and directly run commands, or setup a local iPXE server, start QEMU, install O/S then reboot and run Puppet for further configuration process.

So does it exist?

PS. At the end of composing this answer I thought that maybe I can just solve the PXE problem using a bash script which installs GRUB2 over SSH to LieveCD which then will download all things needed for Razor/Foreman over HTTP?

Best Answer

You can use Foreman and the foreman_bootdisk plugin.

You should set up Foreman, add your hosts, and boot them using the foreman_bootdisk generated image, a hybrid ISO. In that case you don't need DHCP and iPXE for anything (in fact the plugin is meant for that exact use case).

The README of the foreman_bootdisk contains more documentation about how does it work, and it can be installed through the Foreman installer or as a package (deb and RPM)

Related Topic