summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominique Martinet <asmadeus@codewreck.org>2012-08-23 16:17:25 +0200
committerDominique Martinet <asmadeus@codewreck.org>2012-08-23 16:17:25 +0200
commita494b15c370d79a920a7e7556127ab0d93c8c842 (patch)
tree592d05d22d176c835232533367127447215f54f8
parent46bdac4d6b3d7767e473d8146ce04f11a67dfd15 (diff)
changed net to use arrays
-rwxr-xr-xbootstrap/debian/bootstrap.sh4
-rw-r--r--kvm-wrapper.conf12
-rwxr-xr-xkvm-wrapper.sh38
3 files changed, 23 insertions, 31 deletions
diff --git a/bootstrap/debian/bootstrap.sh b/bootstrap/debian/bootstrap.sh
index f876ab6..f0e7759 100755
--- a/bootstrap/debian/bootstrap.sh
+++ b/bootstrap/debian/bootstrap.sh
@@ -177,8 +177,8 @@ EOF
umount "$MNTDIR"
# Start VM to debootstrap, second stage
- desc_update_setting "KVM_IF0" "virtio-net-pci"
- #desc_update_setting "KVM_NET_OPT0" ",vhost=on"
+ desc_update_setting "KVM_IF[0]" "virtio-net-pci"
+ #desc_update_setting "KVM_NET_OPT[0]" ",vhost=on"
test_blockdev "$KVM_DISK1" \
&& desc_update_setting "KVM_DRIVE_IF" "virtio-blk-pci,scsi=off"
desc_update_setting "KVM_KERNEL" "$BOOTSTRAP_KERNEL"
diff --git a/kvm-wrapper.conf b/kvm-wrapper.conf
index d897818..7c3c72f 100644
--- a/kvm-wrapper.conf
+++ b/kvm-wrapper.conf
@@ -42,12 +42,12 @@ KVM_CPU_NUM="1"
KVM_CLUSTER_NODE="`hostname -s`"
-KVM_IF0="rtl8139"
-KVM_MACADDR0="`random_mac`"
-KVM_BR0="br0"
-KVM_NET_OPT0=""
-#KVM_NET_OPT0=",vhost=on"
-#KVM_{IF,MACADDR,BR,NET_OPT}[123]
+KVM_IF[0]="rtl8139"
+KVM_MACADDR[0]="`random_mac`"
+KVM_BR[0]="br0"
+KVM_NET_OPT[0]=""
+#KVM_NET_OPT[0]=",vhost=on"
+#KVM_{IF,MACADDR,BR,NET_OPT}[42]
KVM_BOOTDEVICE="-boot order=c"
#KVM_DISK1
diff --git a/kvm-wrapper.sh b/kvm-wrapper.sh
index 87e2999..e47134e 100755
--- a/kvm-wrapper.sh
+++ b/kvm-wrapper.sh
@@ -449,13 +449,13 @@ function kvm_start_vm ()
local KVM_NET=""
#backward compatibility
- KVM_MACADDR0="${KVM_MACADDR0-$KVM_MACADDRESS}"
- KVM_IF0="${KVM_IF0-$KVM_NETWORK_MODEL}"
- [[ "$KVM_IF0" = "vhost_net" ]] && (KVM_NET_OPT0=",vhost=on"; KVM_IF0="virtio-net-pci")
- KVM_BR0="${KVM_BR0-$KVM_BRIDGE}"
+ KVM_MACADDR[0]="${KVM_MACADDR[0]-$KVM_MACADDRESS}"
+ KVM_IF[0]="${KVM_IF[0]-$KVM_NETWORK_MODEL}"
+ [[ "${KVM_IF[0]}" = "vhost_net" ]] && (KVM_NET_OPT[0]=",vhost=on"; KVM_IF[0]="virtio-net-pci")
+ KVM_BR[0]="${KVM_BR[0]-$KVM_BRIDGE}"
# Check for the bridge-specific symlinks an' make them otherwise (no quotes on $KVM_BR* because it would otherwise try to create kvm--ifup)
- for KVM_BR in $KVM_BR0 $KVM_BR1 $KVM_BR2 $KVM_BR3; do
+ for KVM_BR in "${KVM_BR[@]}"; do
test_exist "$KVM_NET_SCRIPT/kvm-$KVM_BR-ifup" || \
(cd "$KVM_NET_SCRIPT"; ln -s kvm-ifup "kvm-$KVM_BR-ifup")
test_exist "$KVM_NET_SCRIPT/kvm-$KVM_BR-ifdown" || \
@@ -463,24 +463,16 @@ function kvm_start_vm ()
done
- [[ -n "$KVM_MACADDR0" ]] && KVM_NET+="-netdev type=tap,id=guest0,script=$KVM_NET_SCRIPT/kvm-$KVM_BR0-ifup,downscript=$KVM_NET_SCRIPT/kvm-$KVM_BR0-ifdown$KVM_NET_OPT0 -device $KVM_IF0,netdev=guest0,mac=$KVM_MACADDR0"
- [[ -n "$KVM_MACADDR1" ]] && {
- KVM_IF1="${KVM_IF1-$KVM_IF0}"
- KVM_NET_OPT1="${KVM_NET_OPT1-$KVM_NET_OPT0}"
- KVM_BR1="${KVM_BR1-$KVM_BR0}"
- KVM_NET+=" -netdev type=tap,id=guest1,script=$KVM_NET_SCRIPT/kvm-$KVM_BR1-ifup,downscript=$KVM_NET_SCRIPT/kvm-$KVM_BR1-ifdown$KVM_NET_OPT1 -device $KVM_IF1,netdev=guest1,mac=$KVM_MACADDR1"
- }
- [[ -n "$KVM_MACADDR2" ]] && {
- KVM_IF2="${KVM_IF2-$KVM_IF0}"
- KVM_NET_OPT2="${KVM_NET_OPT2-$KVM_NET_OPT0}"
- KVM_BR2="${KVM_BR2-$KVM_BR0}"
- KVM_NET+=" -netdev type=tap,id=guest2,script=$KVM_NET_SCRIPT/kvm-$KVM_BR2-ifup,downscript=$KVM_NET_SCRIPT/kvm-$KVM_BR2-ifdown$KVM_NET_OPT2 -device $KVM_IF2,netdev=guest2,mac=$KVM_MACADDR2"
- }
- [[ -n "$KVM_MACADDR3" ]] && {
- KVM_IF3="${KVM_IF3-$KVM_IF0}"
- KVM_NET_OPT3="${KVM_NET_OPT3-$KVM_NET_OPT0}"
- KVM_BR3="${KVM_BR3-$KVM_BR0}"
- KVM_NET+=" -netdev type=tap,id=guest3,script=$KVM_NET_SCRIPT/kvm-$KVM_BR3-ifup,downscript=$KVM_NET_SCRIPT/kvm-$KVM_BR3-ifdown$KVM_NET_OPT3 -device $KVM_IF3,netdev=guest3,mac=$KVM_MACADDR3"
+ [[ "${#KVM_MACADDR[@]}" != 0 ]] && {
+ [[ -z "${KVM_BR[@]:0:1}" ]] && fail_exit "No KVM_BR defined"
+ [[ -z "${KVM_IF[@]:0:1}" ]] && fail_exit "No KVM_IF defined"
+ [[ -z "${KVM_NET_OPT[@]:0:1}" ]] && fail_exit "No KVM_NET_OPT defined"
+ for i in ${!KVM_MACADDR[@]}; do
+ KVM_BR[$i]="${KVM_BR[$i]-${KVM_BR[@]:0:1}}"
+ KVM_IF[$i]="${KVM_IF[$i]-${KVM_IF[@]:0:1}}"
+ KVM_NET_OPT[$i]="${KVM_NET_OPT[$i]-${KVM_NET_OPT[@]:0:1}}"
+ KVM_NET+="-netdev type=tap,id=guest${i},script=$KVM_NET_SCRIPT/kvm-${KVM_BR[i]}-ifup,downscript=$KVM_NET_SCRIPT/kvm-${KVM_BR[i]}-ifdown${KVM_NET_OPT[i]} -device ${KVM_IF[i]},netdev=guest${i},mac=${KVM_MACADDR[i]} "
+ done
}
# Monitor/serial devices