blob: e2c3194e25070874aa2bd4f9ede240dfbfd529a0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#!/bin/bash
set -e
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
sudo $(realpath $0)
exit
fi
select_base_vm() {
mapfile vms < <(virsh list --inactive --name)
echo "All inactive VMs" >&2
printf "%s\n" ${vms[@]} | nl >&2
read -p "Index of base VM: " INDEX
echo ${vms[$INDEX-1]}
}
die() {
echo $*
exit 1
}
BASE_IMAGE="$(select_base_vm)"
[ -z "$BASE_IMAGE" ] && die "No base image selected."
read -p "Enter new image name: " NAME
[ -z "$NAME" ] && die "No new image name."
echo "Cloning..."
virt-clone --quiet --original "$BASE_IMAGE" --auto-clone --name "$NAME"
echo "Cloning... Done."
echo "Preparing..."
virt-sysprep --quiet --domain "$NAME" --hostname "$NAME"
echo "Preparing... Done."
|