sipb-xen-remote-proxy: refactor argument parsing and passing
[invirt/packages/invirt-remote.git] / files / usr / sbin / sipb-xen-remote-proxy
index b230166..0f4f9e8 100755 (executable)
@@ -1,10 +1,24 @@
 #!/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 )
+       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