code to load-balance boots among hosts
[invirt/packages/invirt-remote.git] / files / usr / sbin / sipb-xen-remote-proxy
index 4a1364e..91dceda 100755 (executable)
@@ -1,5 +1,23 @@
 #!/bin/sh
 # invoke as sipb-xen-remote-proxy-$TYPE, with "TYPE" in the remctl sense.
-kinit -k host/sipb-vm-58.mit.edu
-#echo remctl black-mesa remote ${0##*-} "$@"
-remctl black-mesa remote ${0##*-} "$@"
+klist -s || kinit -k host/remote.mit.edu
+
+TYPE="${0##*-}"
+case "$TYPE" in
+    control )
+       SERVICE="$2" ;;
+    * )
+       SERVICE="$1" ;;
+esac
+
+case "$TYPE/$SERVICE" in
+    web/listvms )
+       shift; sipb-xen-remote-listvms "$@" ;;
+    control/create )
+       remctl black-mesa remote "$TYPE" "$@" ;;
+    control/* )
+       # Everything but create must go where the VM is already running.
+       sipb-xen-remote-control "$@" ;;
+    * )
+       remctl black-mesa remote "$TYPE" "$@" ;;
+esac