X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/blobdiff_plain/dbbcf1b394ec472b27954ab843314261852b17a6..ab8fe311418a7887658ddd752a6dc69a8164bdb5:/files/usr/sbin/sipb-xen-vmcontrol?ds=inline diff --git a/files/usr/sbin/sipb-xen-vmcontrol b/files/usr/sbin/sipb-xen-vmcontrol index bf72dbc..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,22 +14,34 @@ ACTION="$2" MACHINE="d_$ORIGMACHINE" case "$ACTION" in - list|vcpu-list|destroy|uptime|shutdown) + list|vcpu-list|uptime) xm "$ACTION" "$MACHINE" ;; - reboot|create|vmboot) - xm destroy "$MACHINE" 2>/dev/null - if [ -n "$3" ]; then - xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$3" + destroy|shutdown) + xm "$ACTION" "$MACHINE" + /usr/sbin/sipb-xen-update-conserver /dev/null 2>&1 & + ;; + install|create|reboot) + 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_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