X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/blobdiff_plain/dbbcf1b394ec472b27954ab843314261852b17a6..8cd9507f6c1f0bbe98fd52a2a0d2655c0476c860:/files/usr/sbin/sipb-xen-vmcontrol diff --git a/files/usr/sbin/sipb-xen-vmcontrol b/files/usr/sbin/sipb-xen-vmcontrol index bf72dbc..6520940 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,16 +14,30 @@ 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 [ "$ACTION" = "copy" ]; then +# sipb-xen-duplicate ...etc... + elif [ -n "$ARG" ]; then + xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$ARG" 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"