diff options
author | Dirk von Suchodoletz | 2009-03-06 02:20:47 +0100 |
---|---|---|
committer | Dirk von Suchodoletz | 2009-03-06 02:20:47 +0100 |
commit | d169bd55aee58222eed74d97f5b7e91dea57a4e0 (patch) | |
tree | 4f940fb358bcd487b158678b863e9a45964a4f7c | |
parent | More work on the qemukvm plugin ... (diff) | |
download | core-d169bd55aee58222eed74d97f5b7e91dea57a4e0.tar.gz core-d169bd55aee58222eed74d97f5b7e91dea57a4e0.tar.xz core-d169bd55aee58222eed74d97f5b7e91dea57a4e0.zip |
More on qemukvm plugin: Fixes, network shutdown script, ...
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2687 95ad53e4-c205-0410-b2fa-d234c58c8868
-rw-r--r-- | os-plugins/plugins/qemukvm/OpenSLX/OSPlugin/qemukvm.pm | 2 | ||||
-rw-r--r-- | os-plugins/plugins/qemukvm/XX_qemukvm.sh | 8 | ||||
-rw-r--r-- | os-plugins/plugins/qemukvm/files/qemu-ifdown | 22 | ||||
-rw-r--r-- | os-plugins/plugins/qemukvm/files/qemu-ifup | 10 | ||||
-rw-r--r-- | os-plugins/plugins/qemukvm/files/run-virt.include | 1 |
5 files changed, 36 insertions, 7 deletions
diff --git a/os-plugins/plugins/qemukvm/OpenSLX/OSPlugin/qemukvm.pm b/os-plugins/plugins/qemukvm/OpenSLX/OSPlugin/qemukvm.pm index dc650293..fe276358 100644 --- a/os-plugins/plugins/qemukvm/OpenSLX/OSPlugin/qemukvm.pm +++ b/os-plugins/plugins/qemukvm/OpenSLX/OSPlugin/qemukvm.pm @@ -121,7 +121,7 @@ sub installationPhase copyFile("$self->{openslxBasePath}/lib/plugins/qemukvm/files/run-virt.include", "$self->{pluginRepositoryPath}/"); # Copy the later /etc/qemu-ifup - copyFile("$self->{openslxBasePath}/lib/plugins/qemukvm/files/qemu-ifup", + copyFile("$self->{openslxBasePath}/lib/plugins/qemukvm/files/qemu-if*", "$self->{pluginRepositoryPath}/"); return; } diff --git a/os-plugins/plugins/qemukvm/XX_qemukvm.sh b/os-plugins/plugins/qemukvm/XX_qemukvm.sh index 81e2b0d3..40bd59ae 100644 --- a/os-plugins/plugins/qemukvm/XX_qemukvm.sh +++ b/os-plugins/plugins/qemukvm/XX_qemukvm.sh @@ -117,9 +117,13 @@ ${qemukvm_imagesrc}." nonfatal # copy the /etc/qemu-ifup script and enable extended rights for running # the emulator via sudo - cp /mnt/opt/openslx/plugin-repo/qemukvm/qemu-ifup /mnt/etc/qemu-ifup + cp /mnt/opt/openslx/plugin-repo/qemukvm/qemu-if* /mnt/etc chmod u+x /mnt/etc/qemu-ifup - echo "ALL ALL=NOPASSWD: $fptoqemu" >>/mnt/etc/sudoers + for qemubin in qemu kvm ; do + qemu="$(binfinder ${qemubin})" + [ -n "${qemu}" ] && \ + echo "ALL ALL=NOPASSWD: ${qemu}" >>/mnt/etc/sudoers + done fi else [ $DEBUGLEVEL -gt 0 ] && echo " * Configuration of qemukvm plugin failed" diff --git a/os-plugins/plugins/qemukvm/files/qemu-ifdown b/os-plugins/plugins/qemukvm/files/qemu-ifdown new file mode 100644 index 00000000..5c16e4b4 --- /dev/null +++ b/os-plugins/plugins/qemukvm/files/qemu-ifdown @@ -0,0 +1,22 @@ +#!/bin/sh +# Copyright (c) 2009 - 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/ +# ----------------------------------------------------------------------------- +# qemu-ifup +# - Script used for network cleanup of qemukvm in Stage4 +# ----------------------------------------------------------------------------- + +# Clean up script +killall udhcpd 2>/dev/null +iptables -t nat -D POSTROUTING -o br0 -j MASQUERADE 2>/dev/null + +# Produce a clean exit status +exit 0 + diff --git a/os-plugins/plugins/qemukvm/files/qemu-ifup b/os-plugins/plugins/qemukvm/files/qemu-ifup index b6b9337c..6f759135 100644 --- a/os-plugins/plugins/qemukvm/files/qemu-ifup +++ b/os-plugins/plugins/qemukvm/files/qemu-ifup @@ -25,21 +25,23 @@ dhcpdcmd="LD_LIBRARY_PATH=/opt/openslx/uclib-rootfs/lib\ case "$1" in tap0) # Adding the tap0 interface to the existing bridge configured in stage3 - eval $brctlcmd addif br0 tap0 + eval ${brctlcmd} addif br0 tap0 ;; tap1) # Configuring DHCP on host tap1 interface and enable IP masquerading mkdir /var/lib/qemu - sed "s,NWIF,tap1,;s,/misc,/qemu," /etc/opt/openslx/udhcpd.qemukvm \ + sed "s,NWIF,tap1,;s,/misc/,/qemu/," /etc/opt/openslx/udhcpd.qemukvm \ >/var/lib/qemu/udhcpd.conf - eval $dhcpdcmd /var/lib/qemu/udhcpd.conf + eval ${dhcpdcmd} /var/lib/qemu/udhcpd.conf echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding echo "1" >/proc/sys/net/ipv4/conf/tap1/forwarding - iptables -t nat -A POSTROUTING -i tap1 -o br0 -j MASQUERADE + iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE ;; tap2) : ;; esac +# Produce a clean exit status +exit 0 diff --git a/os-plugins/plugins/qemukvm/files/run-virt.include b/os-plugins/plugins/qemukvm/files/run-virt.include index 3e2b9490..484fcb6d 100644 --- a/os-plugins/plugins/qemukvm/files/run-virt.include +++ b/os-plugins/plugins/qemukvm/files/run-virt.include @@ -58,5 +58,6 @@ for i in kvm qemu-kvm qemu; do [ -n $VIRTCMD ] && break done [ -n $VIRTCMD ] && { writelog "No qemu/kvm tool found."; exit 1; } +VIRTCMD="sudo $VIRTCMD" VIRTCMDOPTS="${VIRTCMDOPTS} -boot c -alt-grab ${diskfile}" |