source: trunk/packages/sipb-xen-remctl-auto/files/usr/sbin/sipb-xen-vmcontrol @ 386

Last change on this file since 386 was 386, checked in by broder, 17 years ago

Change to using conserver instead of ssh

  • Property svn:executable set to *
File size: 1.4 KB
RevLine 
[121]1#!/bin/sh
[196]2# sipb-xen-vmcontrol MACHINE ACTION
[121]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
[146]12ORIGMACHINE="$1"
[196]13ACTION="$2"
[146]14MACHINE="d_$ORIGMACHINE"
[121]15
16case "$ACTION" in
[386]17    list|vcpu-list|uptime)
[121]18        xm "$ACTION" "$MACHINE"
19        ;;
[386]20    destroy|shutdown)
21        xm "$ACTION" "$MACHINE"
22        rm "/etc/conserver/conf.d/$MACHINE"
23        /usr/sbin/sipb-xen-update-conserver
24        ;;
[223]25    install|create|reboot)
26        ARG="$3"
27        shift; shift; shift; MOREARGS="$*"
[212]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
[223]32        fi
33        if [ "$ACTION" = "install" ]; then
34            xm create sipb-database machine_name="$ORIGMACHINE" installer="$ARG" installer_options="$MOREARGS"
[386]35#       elif [ "$ACTION" = "copy" ]; then
36#           sipb-xen-duplicate ...etc...
[224]37        elif [ -n "$ARG" ]; then
[223]38            xm create sipb-database machine_name="$ORIGMACHINE" cdrom_image="$ARG"
[127]39        else
[196]40            xm create sipb-database machine_name="$ORIGMACHINE"
[127]41        fi
[386]42        echo "console $ORIGMACHINE {}" >"/etc/conserver/conf.d/$MACHINE"
43        /usr/sbin/sipb-xen-update-conserver
[127]44        ;;
[121]45    list-long)
46        xm list --long "$MACHINE"
47        ;;
48    *)
49        echo "ERROR: Invalid Command"
50        exit 1
51        ;;
52esac
Note: See TracBrowser for help on using the repository browser.