diff options
author | Sebastian Schmelzer | 2010-09-02 17:50:49 +0200 |
---|---|---|
committer | Sebastian Schmelzer | 2010-09-02 17:50:49 +0200 |
commit | 416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5 (patch) | |
tree | 4715f7d742fec50931017f38fe6ff0a89d4ceccc /os-plugins/plugins/vmgrid/files/vmgrid | |
parent | Fix for the problem reported on the list (sed filter forgotten for the (diff) | |
download | core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.tar.gz core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.tar.xz core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.zip |
change dir structure
Diffstat (limited to 'os-plugins/plugins/vmgrid/files/vmgrid')
-rw-r--r-- | os-plugins/plugins/vmgrid/files/vmgrid | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/os-plugins/plugins/vmgrid/files/vmgrid b/os-plugins/plugins/vmgrid/files/vmgrid deleted file mode 100644 index 2bb91481..00000000 --- a/os-plugins/plugins/vmgrid/files/vmgrid +++ /dev/null @@ -1,154 +0,0 @@ -#!/bin/bash -# ----------------------------------------------------------------------------- -# Copyright (c) 2010 - RZ Uni FR -# Copyright (c) 2010 - OpenSLX GmbH -# -# This program is free software distributed under the GPL version 2. -# See http://openslx.org/COPYING -# -# If you have any feedback please consult http://openslx.org/feedback and -# send your suggestions, praise, or complaints to feedback@openslx.org -# -# General information about OpenSLX can be found at http://openslx.org/ -# ----------------------------------------------------------------------------- -# vmgrid -# - Script for autostarts defined in vmgrid::startvms -################################################################################ - -# include default directories -. /etc/opt/openslx/openslx.conf - -################################################################################ -### Manual Start -################################################################################ - -if [ -n "$1" ]; then - if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then - echo -e "Usage: vmgrid [[-g] [--mem <memory size in MB>] \c" - echo -e "[--nice <nice level>] [/path/]filename[.xml]]" - exit 0 - else - echo "Starting run-vmgrid.sh with options '$@'" - run-vmgrid.sh $@ 2>/dev/null - exit - fi -fi - -################################################################################ -### Define default dirs / get configs -################################################################################ - -PLUGINCONFROOT=${OPENSLX_DEFAULT_CONFDIR}/plugins -PLUGINCONFDIR=${PLUGINCONFROOT}/vmgrid -RWSHARE=/var/opt/openslx/plugins/vmgrid/share -# include general configuration from vmgrid -[ -f ${PLUGINCONFDIR}/vmgrid.conf ] && \ - . ${PLUGINCONFDIR}/vmgrid.conf -# load general virtualization information -[ -f ${PLUGINCONFROOT}/virtualization/virtualization.conf ] && \ - . ${PLUGINCONFROOT}/virtualization/virtualization.conf - -################################################################################ -### Functions used throughout the script -################################################################################ - -# function to write to stdout and logfile -writelog () { - # write to stdout - echo -e "$1" - # log into file - echo -e "$1" >> ${OPENSLX_DEFAULT_LOGDIR}/vmgrid.${USER}.$$.log - # log into share dir, so that log is available in vm as well - echo -e "$1" >> ${vmgrid_rwmnt}/logs/vmgrid.${USER}.$$.log -} - -################################################################################ -### Configure VMs for autostart and set RAM -################################################################################ - -# start to log, create share log dir -mkdir -m 1777 -p ${vmgrid_rwmnt}/logs -mkdir -m 1777 -p /tmp/vmgrid -mkdir -p /tmp/vmgrid/${USER} -echo "Starting to log at $(date)" \ - >${vmgrid_rwmnt}/logs/vmgrid.${USER}.$$.log - -if [ -z "${hostratio}" ]; then - writelog "There has been an error in the memory configuration in stage 3" - writelog "Please check your memory ratio settings, exiting!" - exit 1 -fi - -if [ -z "${hostratio}" ]; then - writelog "There has been an error in the memory configuration in stage 3" - writelog "Please check your memory ratio settings, exiting!" - exit 1 -fi - -# remove blanks -vmgrid_startvms=$(echo ${vmgrid_startvms} | sed -e "s, *,,g") -vmgrid_memratio=$(echo ${vmgrid_memratio} | sed -e "s, *,,g") - -# hostmem, mainvirt from virtualization plugin -# ratio minus other vms and host -restratio=$(expr 100 - ${hostratio} - ${mainvirtratio}) - -# hostmem, totalmem, mainvirtmem from virtualization plugin -# calculate freemem -freemem=$(expr ${totalmem} - ${hostmem} - ${mainvirtmem} 2>/dev/null) -if [ ${freemem} -lt 512 2>/dev/null ]; then - writelog "Not enough free RAM for this plugin, free: ${freemem} MB" - exit 1 -fi - -# get clients mem ratio -vmsumratios=0 -for i in {1..4}; do - vm[$i]=$(echo ${vmgrid_startvms} | awk -F ',' '{print $1}') - # remove ${vm[$i]} from list because of '{print $1}' - vmgrid_startvms=$(echo ${vmgrid_startvms} | sed -e "s,${vm[$i]}\,*,,") - vmratio[$i]=$(echo ${vmgrid_memratio} | awk -F ',' '{print $1}') - # remove ${vmratio[$i]} from list because of '{print $1}' - vmgrid_memratio=$(echo ${vmgrid_memratio} | sed -e "s/${vmratio[$i]},*//") - vmsumratios=$(expr ${vmsumratios} + ${vmratio[$i]} 2>/dev/null) -done - -for i in {1..4}; do - # calculate VMs mem: mem = $freemem * $vmratio/100 * 100/$restratio - # multiple of 4 - vmmem[$i]=$(expr ${freemem} \* ${vmratio[$i]} / ${restratio} / 4 \* 4 \ - 2>/dev/null) - if [ -n "${vm[$i]}" ] && [ ${vmmem[$i]} -lt 512 2>/dev/null ]; then - writelog "Not enough free RAM for ${vm[$i]} (min. 512 MB), \c" - writelog "free: ${vmmem[$i]} MB" - unset vm[$i] - fi -done - -################################################################################ -### Start the VMs -################################################################################ - -# start vms -for i in {1..4}; do - if [ -n "${vm[$i]}" ]; then - alreadyrunning=$(ps aux | grep run-vmgrid.sh | grep -v grep \ - | grep "${vm[$i]}" | wc -l) - # if Xen use different method - if [ "${vmgrid_virt}" = "xen" ]; then - alreadyrunning=$(xm list 2>/dev/null | grep -vE "Domain-0|Name.*ID" \ - | grep "${vm[$i]}-0.$" | wc -l) - fi - if [ ${alreadyrunning} -gt 0 2>/dev/null ]; then - writelog "${vm[$i]} already running, skipping!" - else - writelog "Starting ${vm[$i]} via run-vmgrid.sh with ${vmmem[$i]} MB RAM" - run-vmgrid.sh --mem ${vmmem[$i]} ${vm[$i]} 2>/dev/null & - echo $! > /tmp/vmgrid/${USER}/vmgrid.pids - # wait 10 secs for the next vm to start - sleep 10 - fi - fi -done - -exit 0 |