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

Last change on this file since 223 was 223, checked in by price, 17 years ago

new remctl command "install" to invoke autoinstaller

e.g.,

$ remctl black-mesa control moobarspam install etch /path/to/rootpasshash

The root password to be used is taken from a given file local to black-mesa...
probably this should be in the database or something, randomly generated
by the web interface, and available for reminders.

  • Property svn:executable set to *
File size: 1.2 KB
Line 
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
12ORIGMACHINE="$1"
13ACTION="$2"
14MACHINE="d_$ORIGMACHINE"
15
16case "$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 "$3" ]; 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        ;;
43esac
Note: See TracBrowser for help on using the repository browser.