Currently at my work we use buildroot to provision physical machines with Debian linux.
Buildroot compiles a rootfs.cpio.gz
file which the machines to be provisioned pick up using PXE, runs a script which gives us some install time options, then rsyncs the root and boot partitions from the provisioning server. This process takes about 20 to 30 minutes.
We occasionally update a machine and run a script which rsyncs it contents to the provisioning server to be used for next time a machine is provisioned.
What I don't like about this process is that it is hard to version control, seems a little bit archaic and it is not actively maintained.
I was wondering if anyone is already - or sees a way - to use Vagrant or Docker to perform a similar function (not necessarily using PXE).
Or would that be like using a spanner to drive a screw?
The main problem I see is that you need a fair amount of the OS installed and good chunk of disk space to run either tool. You would definitely be attempting to use them in a screw hammer fashion.
If you're looking for a tool to build install images, I'd look at something like packer.
There are also tools like Cobbler and others that handle the whole install OS on bare metal problem.
The problem of keeping that OS up to date is better handled in a Configuration Management system like Puppet, Chef, Ansible, etc...