bugfix
[invirt/packages/invirt-remote.git] / files / usr / sbin / sipb-xen-vmcontrol
1 #!/bin/sh
2 # sipb-xen-vmcontrol MACHINE ACTION
3 #
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.
6 #
7 # $0 and $1 come from the trusted remctl source.
8 #
9 # $2 and so on are user-provided, and thus sketchy.  I don't think we
10 # need them for this script.
11
12 ORIGMACHINE="$1"
13 ACTION="$2"
14 MACHINE="d_$ORIGMACHINE"
15
16 case "$ACTION" in
17     list|vcpu-list|destroy|uptime|shutdown)
18         xm "$ACTION" "$MACHINE"
19         ;;
20     install|create|reboot)
21         ARG="$3"
22         shift; shift; shift; MOREARGS="$*"
23         if [ "$ACTION" = "reboot" ]; then
24             xm destroy "$MACHINE" 2>/dev/null
25         else
26             xm list "$MACHINE" >/dev/null 2>/dev/null && echo "$MACHINE already exists" && exit 1
27         fi
28         if [ "$ACTION" = "install" ]; then
29             xm create sipb-database machine_name="$ORIGMACHINE" installer="$ARG" installer_options="$MOREARGS"
30         elif [ -n "$ARG" ]; then
31             xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$ARG"
32         else
33             xm create sipb-database machine_name="$ORIGMACHINE"
34         fi
35         ;;
36     list-long)
37         xm list --long "$MACHINE"
38         ;;
39     *)
40         echo "ERROR: Invalid Command"
41         exit 1
42         ;;
43 esac