On 9/12/18 5:41 PM, Sergey Bronnikov wrote:


ср, 12 сент. 2018 г. в 12:09, Xu Han <xu...@redhat.com <mailto:xu...@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,

Reply via email to