Change to using conserver instead of ssh
[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|uptime)
18         xm "$ACTION" "$MACHINE"
19         ;;
20     destroy|shutdown)
21         xm "$ACTION" "$MACHINE"
22         rm "/etc/conserver/conf.d/$MACHINE"
23         /usr/sbin/sipb-xen-update-conserver
24         ;;
25     install|create|reboot)
26         ARG="$3"
27         shift; shift; shift; MOREARGS="$*"
28         if [ "$ACTION" = "reboot" ]; then
29             xm destroy "$MACHINE" 2>/dev/null
30         else
31             xm list "$MACHINE" >/dev/null 2>/dev/null && echo "$MACHINE already exists" && exit 1
32         fi
33         if [ "$ACTION" = "install" ]; then
34             xm create sipb-database machine_name="$ORIGMACHINE" installer="$ARG" installer_options="$MOREARGS"
35 #       elif [ "$ACTION" = "copy" ]; then
36 #           sipb-xen-duplicate ...etc...
37         elif [ -n "$ARG" ]; then
38             xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$ARG"
39         else
40             xm create sipb-database machine_name="$ORIGMACHINE"
41         fi
42         echo "console $ORIGMACHINE {}" >"/etc/conserver/conf.d/$MACHINE"
43         /usr/sbin/sipb-xen-update-conserver
44         ;;
45     list-long)
46         xm list --long "$MACHINE"
47         ;;
48     *)
49         echo "ERROR: Invalid Command"
50         exit 1
51         ;;
52 esac