X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/blobdiff_plain/5af3b5d0f46ce82b148766b4dc21abf0fec08e6b..81942680b13c82fb28a3a90cf43390c5148d248a:/server/usr/sbin/invirt-remote-proxy?ds=sidebyside diff --git a/server/usr/sbin/invirt-remote-proxy b/server/usr/sbin/invirt-remote-proxy index 9a9266d..e92e692 100755 --- a/server/usr/sbin/invirt-remote-proxy +++ b/server/usr/sbin/invirt-remote-proxy @@ -1,36 +1,41 @@ -#!/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