X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/blobdiff_plain/45e13c4b105757ac0fa1f1cbdeed9d74c22bfec4..fa5a90c88e13bb0ccea2a4b58d109c3f3b0b9900:/server/usr/sbin/invirt-remote-proxy

diff --git a/server/usr/sbin/invirt-remote-proxy b/server/usr/sbin/invirt-remote-proxy
index d84fe81..7608ad3 100755
--- a/server/usr/sbin/invirt-remote-proxy
+++ b/server/usr/sbin/invirt-remote-proxy
@@ -13,18 +13,32 @@ 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 )
+        if [ -f "/etc/invirt/nolvm" ]; then
+            echo "LVM operations are temporarily disabled for maintenance, sorry." >&2
+            exit 2
+        fi
+        remctl "$(invirt-getconf hosts.0.hostname)" remote "$TYPE" "$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" "$@" ;;
+	invirt-remote-control "$MACHINE" "$SERVICE" "$@" ;;
     * )
-	exec remctl "$(invirt-getconf hosts.0.hostname)" remote "$TYPE" "$SERVICE" "$@" ;;
+        echo "ERROR: invalid subcommand"
+        exit 34
+        ;;
 esac