[Ovirt-devel] [PATCH appliance] Fake Node creation now creates nodes with 128MB disk for use in testing
Perry Myers
pmyers at redhat.com
Sun Sep 14 23:49:55 UTC 2008
This allows easy testing of Node 'installation' and persistent config
data.
Signed-off-by: Perry Myers <pmyers at redhat.com>
---
create-ovirt-appliance | 19 ++++++++++++++++---
ovirt-appliance.spec | 1 +
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/create-ovirt-appliance b/create-ovirt-appliance
index 071781a..c291041 100755
--- a/create-ovirt-appliance
+++ b/create-ovirt-appliance
@@ -14,6 +14,9 @@ NAME_DEFAULT=ovirt-appliance
NET_SCRIPTS=/etc/sysconfig/network-scripts
BRIDGENAME=ovirtbr0
+NODE_DISK_SIZE=128M
+NODE_DISK_FMT=raw
+
imgdir=$IMGDIR_DEFAULT
name=$NAME_DEFAULT
@@ -57,6 +60,7 @@ EOF
gen_fake_managed_node() {
local num=$1
+ local disk=$2
local last_mac=$(( 54 + $num ))
cat <<EOF
@@ -76,6 +80,10 @@ gen_fake_managed_node() {
<on_crash>destroy</on_crash>
<devices>
<emulator>$KVM_BINARY</emulator>
+ <disk type='file' device='disk'>
+ <source file='$disk'/>
+ <target dev='hda'/>
+ </disk>
<interface type='network'>
<mac address='00:16:3e:12:34:$last_mac'/>
<source network='$BRIDGENAME'/>
@@ -144,7 +152,7 @@ fi
# now make sure the packages we need are installed
if [ -e /etc/redhat-release ]; then
- PACKAGES="libvirt kvm"
+ PACKAGES="libvirt kvm qemu-img"
CHECK=$(rpm $(printf " -q %s " "$PACKAGES") &> /dev/null; echo $?)
KVM_BINARY=/usr/bin/qemu-kvm
elif [ -e /etc/debian_version ]; then
@@ -199,12 +207,18 @@ if [ -n "$bridge" ]; then
&& die "$bridge device active with ip address, aborting!"
fi
+mkdir -p $imgdir
+
# define the fake managed nodes we will use.
for i in `seq 3 5` ; do
+ imgname="node${i}.img"
+ if [ ! -f $imgdir/$imgname ]; then
+ qemu-img create -f $NODE_DISK_FMT $imgdir/$imgname $NODE_DISK_SIZE
+ fi
virsh destroy node$i >& /dev/null
virsh undefine node$i >& /dev/null
TMPXML=$(mktemp)
- gen_fake_managed_node $i > $TMPXML
+ gen_fake_managed_node $i $imgdir/$imgname > $TMPXML
virsh define $TMPXML
rm $TMPXML
done
@@ -265,7 +279,6 @@ fi
virsh undefine bundled
} > /dev/null 2>&1
-mkdir -p $imgdir
imgname=$name.img
test ! -r $imgdir/$imgname && die "Disk image not found at $imgdir/$imgname"
virsh destroy $name > /dev/null 2>&1
diff --git a/ovirt-appliance.spec b/ovirt-appliance.spec
index 52c248d..d2b29bb 100644
--- a/ovirt-appliance.spec
+++ b/ovirt-appliance.spec
@@ -25,6 +25,7 @@ BuildRequires: wget
# is fixed, these Requires should be fixed.
Requires: libvirt >= 0.4.4-2ovirt2
Requires: kvm >= 72-3ovirt3
+Requires: qemu-img
%define app_root %{_datadir}/%{name}
--
1.5.5.1
More information about the ovirt-devel
mailing list