If not familiar with what Cobbler is and/or does then go here: https://cobbler.github.io/
As a sysadmin I always enjoyed setting up complex infrastructures or testing various cool features that some new piece of software has or simply test if my stuff would work on a newer version of Linux (whatever flavor of Linux that may be) and many times I found myself wasting time on one particular task that with time becomes boring … like really boring … and that is to provision the OS on a physical or virtual machine. There are ways of doing it faster like cloning a previously installed machine or using templates that other ppl maitain (which is ok in most cases) but one would still need to install that first machine that is then later used as a template and before you’re able to say I’ll use this as the template you will actually provision it multiple times in various ways before selecting the correct one for your specific case so it kind of goes all the way back to the old OS install.
Cobbler is awesome at performing unattended OS installs for you as long as the OS is supported by it (which usually means OS install works with kickstart (anaconda – rpm based distros) or seed files (deb based distros), on your hardware’s ability to PXE boot (network boot – which is valid even for crappy desktops) and on the OS’s ability that allows it to be installed in this way. For some reason industry standards seem to be focused around: CentOS, Suse, Debian, Ubuntu which are supported with no extra effort by Cobbler.
To get the show on the road follow the instructions here:
https://cobbler.readthedocs.io/en/latest/installation-guide.html
stress not, you will not get it right the first time but you should nail it the second time you attempt it (I managed to get it working from the first go but then I started playing with it after getting all sorts of ideas and in the end I messed it up so bad that I had to reinstall )
The one problem I have with it is the fact that it seems to have not been built for scale … when it comes to clustering it / scaling horizontally it sux big time but nonetheless doable.
Last experiment I ran that involved cobbler was to see if I could pxe boot a VM on my personal notebook over the internet and I was able to do it by using this: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/dhcp-relay-agent combined with adjusting the cobbler dhcp config to assign ips from my localhost range + a bit of tunneling and firewalling.
PS1. I tried to get it to provision Gentoo as well as Windows but it turned out to be too much hassle for me and I gave up … however it is doable just not how you’d expect
PS2. I’ll try to repeat experiment at PS1 … maybe I get lucky … and if I succeed I’ll share.
Enjoy!