X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/blobdiff_plain/3bfc276f6bc7af5cfefdecb45b4e9c73dd5e6711..ab8fe311418a7887658ddd752a6dc69a8164bdb5:/files/usr/sbin/sipb-xen-vmcontrol?ds=sidebyside diff --git a/files/usr/sbin/sipb-xen-vmcontrol b/files/usr/sbin/sipb-xen-vmcontrol index 0c4d0e1..0c20109 100755 --- a/files/usr/sbin/sipb-xen-vmcontrol +++ b/files/usr/sbin/sipb-xen-vmcontrol @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # sipb-xen-vmcontrol MACHINE ACTION # # remctl should have already verified that the user is authorized to @@ -14,30 +14,34 @@ ACTION="$2" MACHINE="d_$ORIGMACHINE" case "$ACTION" in - list|vcpu-list|destroy|uptime|shutdown) + list|vcpu-list|uptime) xm "$ACTION" "$MACHINE" ;; + destroy|shutdown) + xm "$ACTION" "$MACHINE" + /usr/sbin/sipb-xen-update-conserver /dev/null 2>&1 & + ;; install|create|reboot) - ARG="$3" - shift; shift; shift; MOREARGS="$*" + shift; shift; 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 "$ARG" ]; then - xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$ARG" + xm create sipb-database machine_name="$ORIGMACHINE" installer_options="$(printf '%q ' "$@")" + elif [ -n "$1" ]; then + xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$1" else xm create sipb-database machine_name="$ORIGMACHINE" fi + (sleep 4; /usr/sbin/sipb-xen-update-conserver) /dev/null 2>&1 & ;; list-long) xm list --long "$MACHINE" ;; *) echo "ERROR: Invalid Command" - exit 1 + exit 34 ;; esac