source: trunk/packages/invirt-remote/server/usr/sbin/invirt-remote-proxy @ 2508

Last change on this file since 2508 was 2495, checked in by adehnert, 15 years ago

Balance LVM requests (LP: #307361)

  • Add "monocast" method to send remctl requests to exactly one

randomly-selected host.

  • Send LVM requests to randomly-selected host for redundancy and load-balancing (LP: #307361).
  • Property svn:executable set to *
File size: 1.3 KB
Line 
1#!/bin/bash                                                                                         
2# invoke as invirt-remote-proxy-$TYPE, with "TYPE" in the remctl sense.                             
3
4klist -s || kinit -k
5
6TYPE="${0##*-}"
7case "$TYPE" in
8    control )
9        MACHINE="$1"; SERVICE="$2"; shift; shift ;;
10    * )
11        SERVICE="$1"; shift ;;
12esac
13
14case "$TYPE/$SERVICE" in
15    web/listvms )
16        invirt-remote-listvms "$@" ;;
17    web/vnccert )
18        invirt-remote-vnccert "$@" ;;
19    web/availability | web/avail )
20        invirt-remote-availability "$@" ;;
21    web/lvcreate | web/lvremove | web/lvrename | web/lvresize )
22        invirt-remote-lvm "$SERVICE" "$@"
23        ;;
24    control/help )
25        invirt-remctl-help ;;
26    control/create|control/install )
27        if [ -f "/etc/invirt/nocreate" ]; then
28            echo "Booting VMs is temporarily disabled for maintenance, sorry." >&2
29            exit 2
30        fi
31        invirt-remote-create "$SERVICE" "$MACHINE" "$@" ;;
32    control/listhost|control/list-host )
33        invirt-remote-listhost "$MACHINE" "$@" ;;
34    control/* )
35        # Everything but create must go where the VM is already running.
36        invirt-remote-control "$MACHINE" "$SERVICE" "$@" ;;
37    * )
38        echo "ERROR: invalid subcommand $TYPE/$SERVICE"
39        exit 34
40        ;;
41esac
Note: See TracBrowser for help on using the repository browser.