#!/bin/sh # 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. # # $0 and $1 come from the trusted remctl source. # # $2 and so on are user-provided, and thus sketchy. I don't think we # need them for this script. ORIGMACHINE="$1" ACTION="$2" MACHINE="d_$ORIGMACHINE" case "$ACTION" in list|vcpu-list|destroy|uptime|shutdown) xm "$ACTION" "$MACHINE" ;; 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 "$ARG" ]; then xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$ARG" else xm create sipb-database machine_name="$ORIGMACHINE" fi ;; list-long) xm list --long "$MACHINE" ;; *) echo "ERROR: Invalid Command" exit 1 ;; esac