[Avocado-devel] Using network sniffer in avocado-vt
Xu Han
xuhan at redhat.com
Wed Sep 12 10:06:08 UTC 2018
On 9/12/18 5:41 PM, Sergey Bronnikov wrote:
>
>
> ср, 12 сент. 2018 г. в 12:09, Xu Han <xuhan at redhat.com
> <mailto:xuhan at redhat.com>>:
>
>
> On 9/12/18 7:58 AM, Cleber Rosa wrote:
>> On 9/11/18 5:43 AM, Sergey Bronnikov wrote:
>>> Hello!
>>>
>>> avocado-vt uses network sniffer (tshark or tcpdump) for getting
>>> IP address of running guest OS. QEMU has an option to dump network
>>> traffic to a file. Using this option looks simpler than using of
>>> external sniffer . I believe there were reasons to prefer sniffer
>>> instead of qemu dump option. Can someone tell about them?
>>>
>>> Sergey
>> Sergey,
>>
>> It'd be nice to try to rewrite the "sniffing" code in terms of "-object
>> filter-dump" (AKA "-net dump").
>>
>> I see that there are some limitations in the QEMU builtin network dump,
>> but we can always use such an implementation when appropriate.
>
> It's a good idea to use '-net dump' functionality for getting IP
> addresses, parsing pcap format files is always be easy than
> parsing plain text generated by those sniffer tools.
>
> However, my concern is that this method is a little bit
> aggressive, I'm not sure if enabling this function for a guest
> would affect the other part of the network function. And please be
> noted that a well functioning QEMU is the guarantee for us to get
> the correct IP addresses, while the QEMU is the box that we are
> testing.
>
> Please take into account that there are many projects (including mine)
> where Avocado-VT used not for testing QEMU but for testing software
> _inside_ QEMU.
Sergey,
OK, I see. So I'd suggest to make "-net dump" be the third sniffing
method, and keep the previous two for QEMU testing. Thanks.
Cleber,
Is there a better way in Avocado to do this kind of test rather than
using Avocado-VT?
Thanks,
Xu
>
>> Xu has written the tshak backend, so I bet he knows more about it.
>
> Honestly speaking, I have no idea about why it used tcpdump not
> others.. The reason of adding the tshark(wireshark) support is,
> sometimes, tcpdump has the problem to get the right informaion
> (see https://github.com/avocado-framework/avocado-vt/pull/1463).
>
> We can also get IP adresses by using the function provided by
> qemu-guest-agent, it can work with both dhcp and static network.
> But, for me, it is an "aggressive" way as well.
>
> This method may not work when OS inside QEMU is under test.
>
> Thanks,
> Xu
>
>
>> FIY, we're trying a different approach of getting guest information on
>> Avocado (not on Avocado-VT), by using the "cloudinit" feature when the
>> guest has support for it:
>>
>> https://avocado-framework.readthedocs.io/en/64.0/api/utils/avocado.utils.html#module-avocado.utils.cloudinit
>>
>> It's simplistic at the moment, but it's possible to check for the
>> instance id used, and get the IP address from the the "phone home" HTTP
>> connection.
>>
>> Regards,
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/avocado-devel/attachments/20180912/650f3bf7/attachment.htm>
More information about the Avocado-devel
mailing list