This script shows how you might have a library of premade virtual machines ready for cloning, but as a final step you use libguestfs or guestfish to customize some configuration files inside the VM before it's ready to go.
In this simple recipe, we overwrite the /etc/resolv.conf
file
with a new nameserver entry, and change /etc/HOSTNAME
.
There are lots of possible improvements to this script, such as using qcow snapshots so that cloned VMs share storage with their "parent" preimages.