summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/vmchooser/init-hooks/80-after-plugins/virtualization.sh
diff options
context:
space:
mode:
authorMichael Janczyk2010-04-11 23:08:47 +0200
committerMichael Janczyk2010-04-11 23:08:47 +0200
commiteec193967f7aca562f7d99eaf5d6177f08e9a99e (patch)
tree34bd6d650c2edc705f67769939a58c646492d017 /os-plugins/plugins/vmchooser/init-hooks/80-after-plugins/virtualization.sh
parentqemukvm network configuration (diff)
downloadcore-eec193967f7aca562f7d99eaf5d6177f08e9a99e.tar.gz
core-eec193967f7aca562f7d99eaf5d6177f08e9a99e.tar.xz
core-eec193967f7aca562f7d99eaf5d6177f08e9a99e.zip
virtualization plugin, now with calculation of mem, run-vmgrid and run-virt uses it
Diffstat (limited to 'os-plugins/plugins/vmchooser/init-hooks/80-after-plugins/virtualization.sh')
-rw-r--r--os-plugins/plugins/vmchooser/init-hooks/80-after-plugins/virtualization.sh54
1 files changed, 36 insertions, 18 deletions
diff --git a/os-plugins/plugins/vmchooser/init-hooks/80-after-plugins/virtualization.sh b/os-plugins/plugins/vmchooser/init-hooks/80-after-plugins/virtualization.sh
index 5fa046d9..400075cd 100644
--- a/os-plugins/plugins/vmchooser/init-hooks/80-after-plugins/virtualization.sh
+++ b/os-plugins/plugins/vmchooser/init-hooks/80-after-plugins/virtualization.sh
@@ -25,9 +25,9 @@ PLUGINCONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}/plugins/virtualization
# check if plugins available
active=0
[ -f ${CONFFILEVMCHOOSER} ] && . ${CONFFILEVMCHOOSER}
-[ -n "${CONFFILEVMCHOOSER}" ] && active=1
+[ ${vmchooser_active} -ne 0 ] && active=1
[ -f ${CONFFILEVMGRID} ] && . ${CONFFILEVMGRID}
-[ -n "${CONFFILEVMGRID}" ] && active=1
+[ ${vmgrid_active} -ne 0 ] && active=1
[ $DEBUGLEVEL -gt 0 ] \
&& echo -e "Executing the virtual 'virtualization' plugin ... \c"
@@ -45,27 +45,45 @@ if [ ${active} -ne 0 ] ; then
totalmem=$(expr $(grep -i "memtotal" /proc/meminfo \
| awk '{print $2}') / 1024)
echo "totalmem=${totalmem}" >> ${PLUGINCONFDIR}/virtualization.conf
+
if [ ${vmgrid_active} -ne 0 ]; then
+
totalmemtest=$(expr $(echo ${vmgrid_memratio} \
| awk -F ',' '{print $1" + "$2" + "$3" + "$4" + "$5" + "$6}'))
+
+ # not more than 100% memory assigned
if [ ${totalmemtest} -le 100 2>/dev/null ]; then
- # get hostmem
- freememper=$(expr 100 - $(echo ${vmgrid_memratio} \
- | awk -F ',' '{print $1" - "$2" - "$3" - "$4}'))
- freemem=$(expr ${totalmem} \* ${freememper} / 100)
- echo "freemem=${freemem}" \
- >> ${PLUGINCONFDIR}/virtualization.conf
- else
- # more than 100% memory assigned stupid!
- # vmgrid will get this as well and exit!
- # so we have theoretically 100% free
- echo "freemem=${totalmem}" \
- >> ${PLUGINCONFDIR}/virtualization.conf
+
+ # host mem
+ hostratio=$(echo ${vmgrid_memratio} | awk -F ',' '{print $6}')
+ hostmem=$(expr ${totalmem} \* ${hostratio} / 100 2>/dev/null)
+ if [ ${hostmem} -lt 256 2>/dev/null ]; then
+ # min. 256 MB for host
+ hostmem=256
+ fi
+
+ # main vm mem (vmchooser)
+ if [ ${vmchooser_active} -ne 0 ]; then
+ mainvirtratio=$(echo ${vmgrid_memratio} | awk -F ',' '{print $5}')
+ mainvirtmem=$(expr ${totalmem} \* ${mainvirtratio} / 100 2>/dev/null)
+ if [ ${mainvirtmem} -lt 512 2>/dev/null ]; then
+ # min. 512 for vmchooser
+ mainvirtmem=512
+ fi
+ else
+ mainvirtratio=0
+ mainvirtmem=0
+ fi
+
+ cat << EOF >> ${PLUGINCONFDIR}/virtualization.conf
+hostratio=${hostratio}
+hostmem=${hostmem}
+mainvirtratio=${mainvirtratio}
+mainvirtmem=${mainvirtmem}
+EOF
+
fi
- else
- echo "freemem=${totalmem}" \
- >> ${PLUGINCONFDIR}/virtualization.conf
-fi
+ fi
# cpu cores
CPU_CORES=$(grep 'processor.*:' /proc/cpuinfo | wc -l)