#!/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|destroy|uptime|shutdown)
xm "$ACTION" "$MACHINE"
;;
- reboot-with-cdrom)
- xm shutdown "$MACHINE"
- xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$2"
- ;;
- reboot)
- if [ -n "$2" ]; then
- /usr/sbin/dispatch.reboot-with-cdrom.sh "$ORIGMACHINE" "$2" &
+ create|reboot)
+ if [ "$ACTION" = "reboot" ]; then
+ xm destroy "$MACHINE" 2>/dev/null
+ else
+ xm list "$MACHINE" >/dev/null 2>/dev/null && echo "$MACHINE already exists" && exit 1
+ fi
+ if [ -n "$3" ]; then
+ xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$3"
else
- xm reboot "$MACHINE"
+ xm create sipb-database machine_name="$ORIGMACHINE"
fi
;;
list-long)