From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Meneghel Rodrigues Subject: Re: [PATCH] virt-test: support static ip address in framework Date: Tue, 20 Dec 2011 17:03:58 -0200 Message-ID: <4EF0DC1E.3000101@redhat.com> References: <20111219131132.7235.31811.stgit@dhcp-8-167.nay.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: wquan@redhat.com, kvm@vger.kernel.org, autotest@test.kernel.org To: Amos Kong Return-path: In-Reply-To: <20111219131132.7235.31811.stgit@dhcp-8-167.nay.redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: autotest-bounces@test.kernel.org Errors-To: autotest-bounces@test.kernel.org List-Id: kvm.vger.kernel.org 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 > --- > 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 majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html