On 05/31/2012 05:25 PM, Alex Jia wrote:
> On 05/31/2012 01:57 PM, Alex Jia wrote:
>> On 05/30/2012 07:43 PM, Cleber Rosa wrote:
>>> On 05/30/2012 07:52 AM, Alex Jia wrote:
>>>> On 05/30/2012 06:00 PM, Cleber Rosa wrote:
>>>>> On 05/30/2012 12:59 AM, Alex Jia wrote:
>>>>>> On 05/29/2012 10:52 PM, Chris Evich wrote:
>>>>>>> Alex,
>>>>>>>
>>>>>>> Interesting problem, these functions are sensitive because they
>>>>>>> happen
>>>>>>> in the context of an autotest test, but outside a virtualization
>>>>>>> sub-test.  Probably the 'right' way to do this is starting with
>>>>>>> virt_test:virt_test class and make the calls to preprocess,
>>>>>>> postprocess_on_error, and postprocess more flexible.  Perhaps they
>>>>>>> could be pulled in from test_module similar to run_func?
>>>>>>>
>>>>>>> The other item you may consider is, if there are only specific parts
>>>>>>> of pre/post process you need to run on remote host.  If so, maybe the
>>>>>>> easy answer is to have wrap them in a check for a new params key that
>>>>>>> makes them run remotely.
>>>>>> Yeah, we have similar idea, thanks for sharing your idea.
>>>>>>> As for tcpdump, how exactly is it not valid?  If it's related to the
>>>>>>> 1-hour time, this is 'timeout' parameter which defaults to 3000
>>>>>>> seconds.  Just set it for your install test to something longer.
>>>>>>> Otherwise, I'm not sure I follow what you need it to do differently,
>>>>>>> please explain.
>>>>>> Yeah, I may increase timeout to resolve it such as 3600s, the
>>>>>> problem is
>>>>>> users can't stand to get a ip
>>>>>> more than 1 hour, however, I verified it on rhevm/ovirt via tcpdump
>>>>>> method to monitor 68 port,
>>>>>> as usual, it will be more than 1 hour, at present, I try to git
>>>>>> guest ip
>>>>>> via GA in rhevm/ovirt.
>>>>> First, let me see If I understand this correctly: somehow the
>>>>> combination of tcpdump + the network config/stack in an rhev-h/ovirt
>>>>> node takes about 1 hour to get an IP?
>>>> Yeah, I used a rhel6 OS as a ovirt node then install a VM in it.
>>>>> This reminds me of something I thought a while ago, when we decided
>>>>> to go with the libvirt private bridge as the default network for the
>>>>> KVM test: the dnsmasq daemon, which answers the DHCP requests, can
>>>>> be easily queried for leases, which can resolve the MAC ->   IP for
>>>>> guests.
> It may be different from my environment, I have directly installed a VM
s/have/haven't/
> on the host
> instead of using virt-v2v to covert a existing ESX VM into rhevm/ovirt,
> I guess it's a
> reason why VM ip address hasn't been cache into network leases.
>>>> It's not always valid by querying leases, I often met IP isn't in
>>>> leases case, in addition, 'nmap' works well for us, however, it may
>>>> be not common
>>>> method on other platform, I think tcpdump should be more powerfull
>>>> and popular, so I also like it.
>>> Well, IMHO if a DHCP server (dnsmasq) provides that feature (querying
>>> leases) and a given lease is not returned in a query result, then
>>> that's a bug.
>>>
>>> BTW, would you care to explain how you're using nmap for that kind of
>>> resolution? Some kind of reverse ARP?
>> Basically, using nmap to scan guest subnet, you may paste the following 
>> shell codes into mac2ip.sh:
>>
>> #! /bin/bash
>>
>> if [ $# -ne 2 ]; then
>>        echo "Usage: $(basename $0)<SUBNET>    <MAC>"
>>        exit 1
>> fi
>>
>> SUBNET=$1
>> MAC=$2
>>
>> rpm -q nmap>    /dev/NULL
>> if [ $? -ne 0 ]; then
>>        echo "you need install nmap"
>>        exit 1
>> fi
>>
>> if [[ -n $SUBNET ]]; then
>>       OUTPUT=$(nmap -sP -n $SUBNET | grep -i -B 2 $MAC)
>>       if [[ -n $OUTPUT ]]; then
>>          IP=$(echo $OUTPUT | sed -e 's/.* 
>> \([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*/\1/')
>>       fi
>> fi
>>
>> echo $IP
>>
>> And then run the following cmdline:
>>
>> % mac=$(virsh dumpxml ${your domain name} | grep "mac address" | awk -F"'" 
>> '{print $2}' | head -1)
>> % subnet=$(ip route | grep "${your guest interface}" | sed -n 1p | awk 
>> '{print $1}')
>> % sh mac2ip.sh $subnet $mac
>>
>> Note: for instance, your guest name is 'foo', and interface is 'virbr0'
>>
>>
>>> Thanks.
>>>
>>>>> That way, we could drop the requirement and the way we use tcpdump,
>>>>> which IMHO is as a nice little hack that we could live without.
>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>> On 05/29/2012 04:57 AM, Alex Jia wrote:
>>>>>>>> Hi Chris,
>>>>>>>> I have some new requirements for network relevant stuff recently, we
>>>>>>>> have
>>>>>>>> preprocess and postprocess functions in
>>>>>>>> ./client/virt/virt_env_process.py
>>>>>>>> module, at present, I need to run them on target host rather than
>>>>>>>> local
>>>>>>>> host, whether we may expend these 2 functions to support remotely
>>>>>>>> run?
>>>>>>>>
>>>>>>>> Another question, "tcpdump -npvi any 'dst port 68'" isn't always
>>>>>>>> valid in
>>>>>>>> preprocess function, for rhevm/ovirt, as usual, I need more than 1
>>>>>>>> hour to
>>>>>>>> get guest ip address, I used default rhevm network configuration
>>>>>>>> without
>>>>>>>> any modification, I guess it has relationship with /etc/resolv.conf,
>>>>>>>> which
>>>>>>>> is automatically generated by /sbin/dhclient-script, whether we
>>>>>>>> may find
>>>>>>>> a common/quick method to resolve the issue?
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Alex
>>>>>>>>
>>>>>>>>
>>>>>>>> Additional information:
>>>>>>>>
>>>>>>>> # ps -ef|grep [d]hclient
>>>>>>>> root      2101     1  0 May11 ?        00:00:01 /sbin/dhclient -1 -q
>>>>>>>> -lf /var/lib/dhclient/dhclient-rhevm.leases -pf
>>>>>>>> /var/run/dhclient-rhevm.pid rhevm
>>>>>>>>
>>>>>>>> # cat /etc/sysconfig/network-scripts/ifcfg-rhevm
>>>>>>>> DEVICE=rhevm
>>>>>>>> TYPE=Bridge
>>>>>>>> ONBOOT=yes
>>>>>>>> DELAY=0
>>>>>>>> IPV6FORWARDING=no
>>>>>>>> IPV6INIT=no
>>>>>>>> SKIPLIBVIRT=True
>>>>>>>> DELAY=0
>>>>>>>> BOOTPROTO=dhcp
>>>>>>>> IPV6_AUTOCONF=no
>>>>>>>> PEERNTP=yes
>>>>>>>> ONBOOT=yes
>>>>>>>>
>>>>>>>> # ifconfig rhevm
>>>>>>>> rhevm     Link encap:Ethernet  HWaddr B8:AC:6F:3E:62:75
>>>>>>>>               inet addr:xx.xx.xx.xx  Bcast:xx.xx.xx.255
>>>>>>>> Mask:255.255.254.0
>>>>>>>>               inet6 addr: fe80::baac:6fff:fe3e:6275/64 Scope:Link
>>>>>>>>               UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>>>>>>>               RX packets:4056726459 errors:0 dropped:0 overruns:0
>>>>>>>> frame:0
>>>>>>>>               TX packets:1678987190 errors:0 dropped:0 overruns:0
>>>>>>>> carrier:0
>>>>>>>>               collisions:0 txqueuelen:0
>>>>>>>>               RX bytes:4052148544568 (3.6 TiB)  TX bytes:3904959346163
>>>>>>>> (3.5 TiB)
>>>>>>>>
>>>>>>>> # cat /etc/resolv.conf
>>>>>>>> ; generated by /sbin/dhclient-script
>>>>>>>> search xx.xx.redhat.com xx.xx.xx.xx.redhat.com
>>>>>>>> nameserver xx.xx.xx.xx
>>>>>>>> nameserver xx.xx.xx.xx
>>>>>>>> nameserver xx.xx.xx.xx
>>>>>> _______________________________________________
>>>>>> Autotest mailing list
>>>>>> Autotest@test.kernel.org
>>>>>> http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
>> _______________________________________________
>> Autotest mailing list
>> Autotest@test.kernel.org
>> http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
> _______________________________________________
> Autotest mailing list
> Autotest@test.kernel.org
> http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

_______________________________________________
Autotest mailing list
Autotest@test.kernel.org
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to