2 # invirt-vmcontrol MACHINE ACTION
4 # remctl should have already verified that the user is authorized to
5 # control the machine. So, we just need to execute the action requested.
7 # $0 and $1 come from the trusted remctl source.
9 # $2 and so on are user-provided, and thus sketchy.
13 MACHINE="d_$ORIGMACHINE"
16 command xm "$@" || exit 35
20 list|vcpu-list|uptime)
21 xm "$ACTION" "$MACHINE"
23 destroy|shutdown|reboot)
24 xm "$ACTION" "$MACHINE"
25 /usr/sbin/invirt-update-conserver </dev/null >/dev/null 2>&1 &
29 xm list "$MACHINE" >/dev/null 2>/dev/null && echo "$MACHINE already exists" && exit 1
30 if [ "$ACTION" = "install" ]; then
31 xm create invirt-database machine_name="$ORIGMACHINE" installer_options="$(printf '%q ' "$@")"
32 elif [ -n "$1" ]; then
33 xm create invirt-database machine_name="$ORIGMACHINE" cdrom_image="$1"
35 xm create invirt-database machine_name="$ORIGMACHINE"
37 (sleep 4; /usr/sbin/invirt-update-conserver) </dev/null >/dev/null 2>&1 &
40 xm list --long "$MACHINE"
43 invirt-vnc-authtoken "$ORIGMACHINE"
46 echo "ERROR: Invalid Command"