On 12/19/2011 11:11 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.

Ok Amos, looks reasonable. Would you please send a v2 with ip_nic 
commented out and a companion wiki documentation? It'd be the start of a 
KVM autotest networking documentation. In case you are not aware, the 
autotest wiki is now a git repo, you can clone it, edit the pages on 
your editor, commit and push the changes.

If you have any problems, please contact me.

Cheers,

Lucas

> 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
>
> Signed-off-by: Amos Kong<[email protected]>
> ---
>   client/tests/kvm/base.cfg.sample |    3 +++
>   1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/client/tests/kvm/base.cfg.sample 
> b/client/tests/kvm/base.cfg.sample
> index 411decf..c86ec1f 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
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

Reply via email to