X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/blobdiff_plain/fc2053bb3293a279121aac97c1cf4c52302501c5..cde3464f172dc386863b91ccf890b151e6e6a624:/files/usr/sbin/sipb-xen-vmcontrol diff --git a/files/usr/sbin/sipb-xen-vmcontrol b/files/usr/sbin/sipb-xen-vmcontrol index 5f1a063..cf11c4f 100755 --- a/files/usr/sbin/sipb-xen-vmcontrol +++ b/files/usr/sbin/sipb-xen-vmcontrol @@ -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,28 @@ # $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" & + install|create|reboot) + ARG="$3" + shift; shift; shift; MOREARGS="$*" + 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 [ "$ACTION" = "install" ]; then + xm create sipb-database machine_name="$ORIGMACHINE" installer="$ARG" installer_options="$MOREARGS" + elif [ -n "$3" ]; then + xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$ARG" else - xm reboot "$MACHINE" + xm create sipb-database machine_name="$ORIGMACHINE" fi ;; list-long)