X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/blobdiff_plain/45e13c4b105757ac0fa1f1cbdeed9d74c22bfec4..81942680b13c82fb28a3a90cf43390c5148d248a:/server/usr/sbin/invirt-remote-proxy diff --git a/server/usr/sbin/invirt-remote-proxy b/server/usr/sbin/invirt-remote-proxy index d84fe81..e92e692 100755 --- a/server/usr/sbin/invirt-remote-proxy +++ b/server/usr/sbin/invirt-remote-proxy @@ -1,30 +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 ) - exec invirt-remote-listvms "$@" ;; + invirt-remote-listvms "$@" ;; web/vnccert ) - exec invirt-remote-vnccert "$@" ;; + invirt-remote-vnccert "$@" ;; + web/availability | web/avail ) + invirt-remote-availability "$@" ;; + web/lvcreate | web/lvremove | web/lvrename | web/lvresize ) + invirt-remote-lvm "$SERVICE" "$@" + ;; control/help ) - exec invirt-remctl-help ;; + invirt-remctl-help ;; control/create|control/install ) - exec 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 ) - exec invirt-remote-listhost "$MACHINE" "$@" ;; + invirt-remote-listhost "$MACHINE" "$@" ;; control/* ) - # Everything but create must go where the VM is already running. - exec invirt-remote-control "$MACHINE" "$SERVICE" "$@" ;; + # Everything but create must go where the VM is already running. + invirt-remote-control "$MACHINE" "$SERVICE" "$@" ;; * ) - exec remctl "$(invirt-getconf hosts.0.hostname)" remote "$TYPE" "$SERVICE" "$@" ;; + echo "ERROR: invalid subcommand $TYPE/$SERVICE" + exit 34 + ;; esac