Balance LVM requests (LP: #307361)
[invirt/packages/invirt-remote.git] / server / usr / sbin / invirt-remote-proxy
index 9a9266d..e92e692 100755 (executable)
@@ -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 )
 
 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 )
 esac
 
 case "$TYPE/$SERVICE" in
     web/listvms )
-       invirt-remote-listvms "$@" ;;
+        invirt-remote-listvms "$@" ;;
     web/vnccert )
         invirt-remote-vnccert "$@" ;;
     web/vnccert )
         invirt-remote-vnccert "$@" ;;
-    web/availability )
+    web/availability | web/avail )
         invirt-remote-availability "$@" ;;
     web/lvcreate | web/lvremove | web/lvrename | web/lvresize )
         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 )
     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 )
     control/listhost|control/list-host )
-       invirt-remote-listhost "$MACHINE" "$@" ;;
+        invirt-remote-listhost "$MACHINE" "$@" ;;
     control/* )
     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
         exit 34
         ;;
 esac