source: trunk/packages/invirt-remote-host/files/usr/sbin/invirt-vmcontrol @ 1390

Last change on this file since 1390 was 1390, checked in by broder, 16 years ago

Add a remote control vnctoken remctl for generating a VNC auth token

  • Property svn:executable set to *
File size: 1.3 KB
RevLine 
[1097]1#!/bin/bash
[1239]2# invirt-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"
[1239]22        /usr/sbin/invirt-update-conserver </dev/null >/dev/null 2>&1 &
[386]23        ;;
[223]24    install|create|reboot)
[1089]25        shift; shift;
[212]26        if [ "$ACTION" = "reboot" ]; then
27            xm destroy "$MACHINE" 2>/dev/null
28        else
29            xm list "$MACHINE" >/dev/null 2>/dev/null && echo "$MACHINE already exists" && exit 1
[223]30        fi
31        if [ "$ACTION" = "install" ]; then
[1268]32            xm create invirt-database machine_name="$ORIGMACHINE" installer_options="$(printf '%q ' "$@")"
[1128]33        elif [ -n "$1" ]; then
[1268]34            xm create invirt-database machine_name="$ORIGMACHINE" cdrom_image="$1"
[127]35        else
[1268]36            xm create invirt-database machine_name="$ORIGMACHINE"
[127]37        fi
[1239]38        (sleep 4; /usr/sbin/invirt-update-conserver) </dev/null >/dev/null 2>&1 &
[127]39        ;;
[121]40    list-long)
41        xm list --long "$MACHINE"
42        ;;
[1390]43    vnctoken)
44        invirt-vnc-authtoken "$ORIGMACHINE"
[121]45    *)
46        echo "ERROR: Invalid Command"
[1167]47        exit 34
[121]48        ;;
49esac
Note: See TracBrowser for help on using the repository browser.