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
|
Rev | Line | |
---|
[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] | 12 | ORIGMACHINE="$1" |
---|
[196] | 13 | ACTION="$2" |
---|
[146] | 14 | MACHINE="d_$ORIGMACHINE" |
---|
[121] | 15 | |
---|
| 16 | case "$ACTION" in |
---|
[196] | 17 | list|vcpu-list|destroy|uptime|shutdown) |
---|
[121] | 18 | xm "$ACTION" "$MACHINE" |
---|
| 19 | ;; |
---|
[223] | 20 | install|create|reboot) |
---|
| 21 | ARG="$3" |
---|
| 22 | shift; shift; shift; MOREARGS="$*" |
---|
[212] | 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 |
---|
[223] | 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" |
---|
[127] | 32 | else |
---|
[196] | 33 | xm create sipb-database machine_name="$ORIGMACHINE" |
---|
[127] | 34 | fi |
---|
| 35 | ;; |
---|
[121] | 36 | list-long) |
---|
| 37 | xm list --long "$MACHINE" |
---|
| 38 | ;; |
---|
| 39 | *) |
---|
| 40 | echo "ERROR: Invalid Command" |
---|
| 41 | exit 1 |
---|
| 42 | ;; |
---|
| 43 | esac |
---|
Note: See
TracBrowser
for help on using the repository browser.