vm.zsh: Various changes
- Change timeouts to 5 seconds - Add a "restart" command - Kill any background jobs on exit Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
36e6838dd3
commit
cc6f0a4eea
|
@ -2,6 +2,6 @@
|
||||||
|
|
||||||
function _vm.zsh() {
|
function _vm.zsh() {
|
||||||
_arguments \
|
_arguments \
|
||||||
'1:operation:(boot halt reboot shutdown start stop)' \
|
'1:operation:(boot halt reboot restart shutdown start stop)' \
|
||||||
'*:virtual machine:($(virsh list --all --name))'
|
'*:virtual machine:($(virsh list --all --name))'
|
||||||
}
|
}
|
||||||
|
|
22
vm.zsh
22
vm.zsh
|
@ -3,15 +3,15 @@ autoload colors
|
||||||
colors
|
colors
|
||||||
|
|
||||||
if [ "$#" -lt 2 ]; then
|
if [ "$#" -lt 2 ]; then
|
||||||
echo "Usage: $0 {boot,halt,reboot,shutdown,start,stop} {libvirt VM, ...}"
|
echo "Usage: $0 {boot,halt,reboot,restart,shutdown,start,stop} {libvirt VM, ...}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
function vm_boot() {
|
function vm_boot() {
|
||||||
if virsh start $1 1>/dev/null 2>/dev/null; then
|
if virsh start $1 1>/dev/null 2>/dev/null; then
|
||||||
echo "$fg_bold[green]Starting VM: $fg_bold[white]$1$reset_color"
|
echo "$fg_bold[green]Starting VM: $fg_bold[white]$1$reset_color"
|
||||||
until nc -z -w 60 $1 22 2>/dev/null; do
|
until nc -z -w 5 $1 22 2>/dev/null; do
|
||||||
sleep 1
|
sleep 5
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -19,11 +19,11 @@ function vm_boot() {
|
||||||
function vm_shutdown() {
|
function vm_shutdown() {
|
||||||
if virsh shutdown $1 1>/dev/null 2>/dev/null; then
|
if virsh shutdown $1 1>/dev/null 2>/dev/null; then
|
||||||
echo "$fg_bold[red]Stopping VM: $fg_bold[white]$1$reset_color"
|
echo "$fg_bold[red]Stopping VM: $fg_bold[white]$1$reset_color"
|
||||||
while nc -z -w 60 $1 22 2>/dev/null; do
|
while nc -z -w 5 $1 22 2>/dev/null; do
|
||||||
sleep 1
|
sleep 5
|
||||||
done
|
done
|
||||||
while virsh list --name | grep ^$1$ >/dev/null; do
|
while virsh list --name | grep ^$1$ >/dev/null; do
|
||||||
sleep 1
|
sleep 5
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,14 @@ function vm_reboot() {
|
||||||
vm_boot $1
|
vm_boot $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TRAPEXIT() {
|
||||||
|
if [[ ! -z "$(jobs -pr)" ]]; then
|
||||||
|
for job in ($(jobs -pr)); do
|
||||||
|
kill -9 $job
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
for vm in "${@:2}"; do
|
for vm in "${@:2}"; do
|
||||||
case $1 in
|
case $1 in
|
||||||
"boot" | "start")
|
"boot" | "start")
|
||||||
|
@ -41,7 +49,7 @@ for vm in "${@:2}"; do
|
||||||
"shutdown" | "stop" | "halt")
|
"shutdown" | "stop" | "halt")
|
||||||
vm_shutdown $vm &
|
vm_shutdown $vm &
|
||||||
;;
|
;;
|
||||||
"reboot")
|
"reboot"|"restart")
|
||||||
vm_reboot $vm &
|
vm_reboot $vm &
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
Loading…
Reference in New Issue