I'm currently responsible for a lab of machines that all need to run the same virtual machines. I want to automate my current setup of distributing VirtualBox virtual machines via rsync (erasing any local changes and replacing the disks/snapshots that make up the virtual machine).
I'm thinking of doing something along the lines of making a snapshot for each change, copying the snapshot to the user's machine, and deleting the snapshot on the target ("flattening" it back to the starting disk). This allows me to patch each Virtual Machine with a minimum amount of bandwidth requirements.
The current environment consists of Fedora hosts, where rsync is used to copy the new disk images. The new solution needs to work on Linux/Windows/Mac as we are moving to a "bring your own device" environment.
Are there any already existing scripts/projects that address this issue? What should I be aware of before I start developing my own system to handle update management?