more updates to remctl code.
authorTim Abbott <tabbott@mit.edu>
Tue, 16 Oct 2007 05:05:30 +0000 (01:05 -0400)
committerTim Abbott <tabbott@mit.edu>
Tue, 16 Oct 2007 05:05:30 +0000 (01:05 -0400)
Now "reboot" on the web interface will act more like a hand reboot.
In particular, it will remove existing CDs.

svn path=/trunk/packages/sipb-xen-remctl-auto/sipb-xen-remctl-auto/; revision=196

files/usr/sbin/sipb-xen-vmcontrol

index 5f1a063..bf72dbc 100755 (executable)
@@ -1,5 +1,5 @@
 #!/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.
@@ -9,23 +9,20 @@
 # $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" &
+    reboot|create|vmboot)
+       xm destroy "$MACHINE" 2>/dev/null
+       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)