-#!/bin/sh
+#!/bin/bash
# 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
+
+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