-#!/bin/bash
-# invoke as invirt-remote-proxy-$TYPE, with "TYPE" in the remctl sense.
+#!/bin/bash
+# invoke as invirt-remote-proxy-$TYPE, with "TYPE" in the remctl sense.
klist -s || kinit -k
TYPE="${0##*-}"
case "$TYPE" in
control )
- MACHINE="$1"; SERVICE="$2"; shift; shift ;;
+ MACHINE="$1"; SERVICE="$2"; shift; shift ;;
* )
- SERVICE="$1"; shift ;;
+ SERVICE="$1"; shift ;;
esac
case "$TYPE/$SERVICE" in
web/listvms )
- invirt-remote-listvms "$@" ;;
+ invirt-remote-listvms "$@" ;;
web/vnccert )
invirt-remote-vnccert "$@" ;;
- web/availability )
+ web/availability | web/avail )
invirt-remote-availability "$@" ;;
web/lvcreate | web/lvremove | web/lvrename | web/lvresize )
- remctl "$(invirt-getconf hosts.0.hostname)" remote "$TYPE" "$SERVICE" "$@" ;;
+ invirt-remote-lvm "$SERVICE" "$@"
+ ;;
control/help )
invirt-remctl-help ;;
control/create|control/install )
- invirt-remote-create "$SERVICE" "$MACHINE" "$@" ;;
+ if [ -f "/etc/invirt/nocreate" ]; then
+ echo "Booting VMs is temporarily disabled for maintenance, sorry." >&2
+ exit 2
+ fi
+ invirt-remote-create "$SERVICE" "$MACHINE" "$@" ;;
control/listhost|control/list-host )
- invirt-remote-listhost "$MACHINE" "$@" ;;
+ invirt-remote-listhost "$MACHINE" "$@" ;;
control/* )
- # Everything but create must go where the VM is already running.
- invirt-remote-control "$MACHINE" "$SERVICE" "$@" ;;
+ # Everything but create must go where the VM is already running.
+ invirt-remote-control "$MACHINE" "$SERVICE" "$@" ;;
* )
- echo "ERROR: invalid subcommand"
+ echo "ERROR: invalid subcommand $TYPE/$SERVICE"
exit 34
;;
esac