code to load-balance boots among hosts
[invirt/packages/invirt-remote.git] / files / usr / sbin / sipb-xen-remote-proxy
index b230166..91dceda 100755 (executable)
@@ -1,10 +1,23 @@
 #!/bin/sh
 # invoke as sipb-xen-remote-proxy-$TYPE, with "TYPE" in the remctl sense.
 klist -s || kinit -k host/remote.mit.edu
+
 TYPE="${0##*-}"
-SERVICE="$1"
-#echo remctl black-mesa remote "$TYPE" "$@"
-case "$SERVICE" in
-    listvms ) shift; sipb-xen-remote-listvms "$@" ;;
-    *       ) remctl black-mesa remote "$TYPE" "$@" ;;
+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