summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/vmgrid/files/vmgrid
diff options
context:
space:
mode:
authorSebastian Schmelzer2010-09-02 17:50:49 +0200
committerSebastian Schmelzer2010-09-02 17:50:49 +0200
commit416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5 (patch)
tree4715f7d742fec50931017f38fe6ff0a89d4ceccc /os-plugins/plugins/vmgrid/files/vmgrid
parentFix for the problem reported on the list (sed filter forgotten for the (diff)
downloadcore-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/vmgrid154
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