sipb-xen-remote-proxy: refactor argument parsing and passing
[invirt/packages/invirt-remote.git] / files / usr / sbin / sipb-xen-remote-proxy
index 4a1364e..0f4f9e8 100755 (executable)
@@ -1,5 +1,24 @@
 #!/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 )
+       MACHINE="$1"; SERVICE="$2"; shift; shift ;;
+    * )
+       SERVICE="$1"; shift ;;
+esac
+
+case "$TYPE/$SERVICE" in
+    web/listvms )
+       sipb-xen-remote-listvms "$@" ;;
+    control/create )
+       remctl black-mesa remote "$TYPE" "$MACHINE" "$SERVICE" "$@" ;;
+    control/* )
+       # Everything but create must go where the VM is already running.
+       sipb-xen-remote-control "$MACHINE" "$SERVICE" "$@" ;;
+    * )
+       remctl black-mesa remote "$TYPE" "$SERVICE" "$@" ;;
+esac