use invirt config
[invirt/packages/invirt-remote.git] / files / usr / sbin / sipb-xen-remote-proxy
index 2b62ca9..c94a764 100755 (executable)
@@ -1,12 +1,26 @@
-#!/bin/sh
+#!/bin/bash
 # invoke as sipb-xen-remote-proxy-$TYPE, with "TYPE" in the remctl sense.
-klist -s || kinit -k host/remote.mit.edu
-#echo remctl black-mesa remote ${0##*-} "$@"
-if false ; then
-  remctl black-mesa remote ${0##*-} "$@"
-else
-  case "$1" in
-    listvms ) shift; sipb-xen-remote-listvms "$@" ;;
-    *       ) remctl black-mesa remote ${0##*-} "$@" ;;
-  esac
-fi
+
+klist -s || kinit -k
+
+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 )
+       sipb-xen-remote-create "$MACHINE" "$@" ;;
+    control/listhost )
+       sipb-xen-remote-listhost "$MACHINE" "$@" ;;
+    control/* )
+       # Everything but create must go where the VM is already running.
+       sipb-xen-remote-control "$MACHINE" "$SERVICE" "$@" ;;
+    * )
+       remctl "$(invirt-getconf hosts.0.hostname)" remote "$TYPE" "$SERVICE" "$@" ;;
+esac