#!/bin/bash #Virtual Machine On Demand #Copyright 2004 William Stearns #Released under the GPL. V0.1 VMName="$1" if [ -z "$VMName" ]; then echo Usage: $0 accountname echo Exiting exit 1 fi declare -a Hosts Loads Hosts[0]=zaphod #while : ; do Running=0 TotalLoad=0 for HostCount in `seq 0 $[ ${#Hosts[@]} - 1 ]` ; do echo Polling ${Hosts[$HostCount]} if ssh "root@${Hosts[$HostCount]}" "test -e /home/$VMName/.uml/$VMName-id/mconsole" ; then #ssh "root@${Hosts[$HostCount]}" /usr/bin/uml_mconsole "/home/$VMName/.uml/$VMName-id/mconsole" version 2>/dev/null Loads[$HostCount]=`ssh "root@${Hosts[$HostCount]}" /usr/bin/uml_mconsole "/home/$VMName/.uml/$VMName-id/mconsole" proc loadavg 2>/dev/null | head -1 | awk '{print ($2 * 100) }'` Running=$[ $Running + 1 ] TotalLoad=$[ ${Loads[$HostCount]} + $TotalLoad ] else #echo not running Loads[$HostCount]=-1 fi done echo "Total VMs running $Running, total load is $TotalLoad / 100" for HostCount in `seq 0 $[ ${#Hosts[@]} - 1 ]` ; do if [ "${Loads[$HostCount]}" == "-1" ]; then echo $VMName not running on ${Hosts[$HostCount]} else echo Load of $VMName on ${Hosts[$HostCount]} is ${Loads[$HostCount]} fi done #Decide what to do here and start/stop. # sleep 30 #done