Files
configpolicy/scripts/migrate-all.sh
Dustin C. Hatch cd1d472b74 scripts: Add VM host maintenance scripts
The `migrate-all.sh` script is used to migrate one or more VMs (default:
all) from one VM host to the other on demand.

The `shutdown-vmhost.sh` script prepares a VM host to shut down by
evicting Kubernetes Pods from the Nodes running on that host and then
shutting them down, followed by migrating the rest of the running VMs to
the other host.
2024-08-23 09:43:24 -05:00

29 lines
562 B
Bash
Executable File

#!/bin/sh
# vim: set sw=4 ts=4 sts=4 et :
list_vms() {
if [ $# -gt 0 ]; then
echo "$@" | xargs -n1
else
virsh list --name
fi
}
src=$1
shift 2>&-
dest=$1
shift 2>&-
if [ -z "${src}" ] || [ -z "${dest}" ]; then
printf 'usage: %s source_uri dest_uri [name [...]]\n' "${0##*/}"
exit 2
fi
export LIBVIRT_DEFAULT_URI="${src}"
list_vms "$@" | while read name; do
[ -n "${name}" ] || continue
printf 'Migrating %s ...\n' "${name}"
virsh migrate "${name}" "${dest}" --live --persistent --undefinesource --verbose
done