#!/bin/sh
-# dispatch-ACTION.sh MACHINE
+# sipb-xen-vmcontrol MACHINE ACTION
#
# remctl should have already verified that the user is authorized to
# control the machine. So, we just need to execute the action requested.
# $2 and so on are user-provided, and thus sketchy. I don't think we
# need them for this script.
-ACTION=$(echo "$0" | awk -F'.' '{print $2}')
ORIGMACHINE="$1"
+ACTION="$2"
MACHINE="d_$ORIGMACHINE"
case "$ACTION" in
- list|vcpu-list|destroy|create|uptime|shutdown)
+ list|vcpu-list|uptime)
xm "$ACTION" "$MACHINE"
;;
- reboot-with-cdrom)
- xm shutdown "$MACHINE"
- xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$2"
+ destroy|shutdown)
+ xm "$ACTION" "$MACHINE"
+ /usr/sbin/sipb-xen-update-conserver
;;
- reboot)
- if [ -n "$2" ]; then
- /usr/sbin/dispatch.reboot-with-cdrom.sh "$ORIGMACHINE" "$2" &
+ install|create|reboot)
+ ARG="$3"
+ shift; shift; shift; MOREARGS="$*"
+ if [ "$ACTION" = "reboot" ]; then
+ xm destroy "$MACHINE" 2>/dev/null
else
- xm reboot "$MACHINE"
+ xm list "$MACHINE" >/dev/null 2>/dev/null && echo "$MACHINE already exists" && exit 1
fi
+ if [ "$ACTION" = "install" ]; then
+ xm create sipb-database machine_name="$ORIGMACHINE" installer="$ARG" installer_options="$MOREARGS"
+# elif [ "$ACTION" = "copy" ]; then
+# sipb-xen-duplicate ...etc...
+ elif [ -n "$ARG" ]; then
+ xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$ARG"
+ else
+ xm create sipb-database machine_name="$ORIGMACHINE"
+ fi
+ /usr/sbin/sipb-xen-update-conserver
;;
list-long)
xm list --long "$MACHINE"