On 12/21/2011 03:55 AM, Amos Kong wrote:
> Sometime, we need to test with guest(s) which have static ip
> address(es).
> eg. No real/emulated DHCP server in test environment.
> eg. Test with old image we don't want to change the net config.
> eg. Test when DHCP exists problem.
>
> This is an example of using static ip address:
> 1. edit ifcfg-eth0 of guest to assign static IP
>     (192.168.100.110). You can also do this by install
>     post-script/serial.
> 2. add and setup bridge in host
>     # brctl addbr vbr
>     # ifconfig vbr 192.168.100.1
> 3. add script for setup tap device
>     /etc/qemu-ifup-vbr
>     | #!/bin/sh
>     | switch=vbr
>     | /sbin/ifconfig $1 0.0.0.0 up
>     | /usr/sbin/brctl addif ${switch} $1
>     | /usr/sbin/brctl setfd ${switch} 0
>     | /usr/sbin/brctl stp ${switch} off
> 4. assign parameters in config file and execute test as usual
>     test.cfg:
>     | ip_nic1 = 192.168.100.110
>     | mac_nic1 = 11:22:33:44:55:67
>     | bridge = vbr
>
> Changes from v1:
> - comment the ip address in config file
> - update doc: https://github.com/autotest/autotest/wiki/Networking

Excellent, applied, thanks Amos!

> Signed-off-by: Amos Kong<[email protected]>
> ---
>   client/tests/kvm/base.cfg.sample |    3 +++
>   client/virt/kvm_vm.py            |    7 ++++++-
>   2 files changed, 9 insertions(+), 1 deletions(-)
>
> diff --git a/client/tests/kvm/base.cfg.sample 
> b/client/tests/kvm/base.cfg.sample
> index 411decf..ad4bfdc 100644
> --- a/client/tests/kvm/base.cfg.sample
> +++ b/client/tests/kvm/base.cfg.sample
> @@ -17,6 +17,9 @@ nics = nic1
>   # Connect NIC devices to host bridge device
>   bridge = virbr0
>
> +# Tell framework of nic1's static ip address
> +# ip_nic1 = 192.168.100.110
> +
>   # List of block device object names (whitespace seperated)
>   images = image1
>   # List of optical device object names
> diff --git a/client/virt/kvm_vm.py b/client/virt/kvm_vm.py
> index fa258c3..1fb177f 100644
> --- a/client/virt/kvm_vm.py
> +++ b/client/virt/kvm_vm.py
> @@ -821,7 +821,12 @@ class VM(virt_vm.BaseVM):
>                   if mac:
>                       virt_utils.set_mac_address(self.instance, vlan, mac)
>                   else:
> -                    virt_utils.generate_mac_address(self.instance, vlan)
> +                    mac = virt_utils.generate_mac_address(self.instance, 
> vlan)
> +
> +                if nic_params.get("ip"):
> +                    self.address_cache[mac] = nic_params.get("ip")
> +                    logging.debug("(address cache) Adding static cache 
> entry: "
> +                                  "%s --->  %s" % (mac, 
> nic_params.get("ip")))
>
>               # Assign a PCI assignable device
>               self.pci_assignable = None
>

_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to