qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v1 3/4] Acceptance test: provides new functions


From: Oksana Voshchana
Subject: Re: [PATCH v1 3/4] Acceptance test: provides new functions
Date: Mon, 24 Feb 2020 18:23:15 +0200

Hi Wainer,
Thanks for review

On Fri, Feb 21, 2020 at 8:31 PM Wainer dos Santos Moschetta <address@hidden> wrote:
Hi Oksana,

On 2/14/20 12:52 PM, Oksana Vohchana wrote:
> Adds functions to check if service RDMA is enabled and gets the interface
> where it was configured
>
> Signed-off-by: Oksana Vohchana <address@hidden>
> ---
>   tests/acceptance/migration.py | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)
>
> diff --git a/tests/acceptance/migration.py b/tests/acceptance/migration.py
> index 8209dcf71d..bbd88f8dda 100644
> --- a/tests/acceptance/migration.py
> +++ b/tests/acceptance/migration.py
> @@ -11,12 +11,16 @@
>   
>   
>   import tempfile
> +import re
> +import netifaces

Since netifaces isn't a standard Python library that import might fail.

The tests dependencies are listed in tests/requirements.txt, and
installed in the environment created by `make check-acceptance`. If you
want to ensure the test behaves well even when executed manually (i.e.
not via `make check-acceptance`), you can add runtime checks as can be
seen in tests/acceptance/machine_m68k_nextcube.py

Thanks, a "runtime checks" is a good approach
I'll improve it
 

>   from avocado_qemu import Test
>   from avocado import skipUnless
>   
>   from avocado.utils import network
>   from avocado.utils import wait
>   from avocado.utils.path import find_command
> +from avocado.utils import service
> +from avocado.utils import process
>   
>   
>   class Migration(Test):
> @@ -58,6 +62,19 @@ class Migration(Test):
>               self.cancel('Failed to find a free port')
>           return port
>   
> +    def _if_rdma_enable(self):
> +        rdma_stat = service.ServiceManager()
> +        rdma = rdma_stat.status('rdma')
> +        return rdma


Above function is used on patch04, but actually I don't think it needs
to check this service for RoCE. It would be needed if it was using the
rxe_cfg to configure the rdma link. Or am I missing something?

 The function _if_rdma_enable() checks if RDMA service enabled in the system it does not depend on wich utils we will use to check if some network configuration present (rdma or rxe_cfg)


> +
> +    def _get_ip_rdma(self):
> +        get_ip_rdma = process.run('rdma link show').stdout.decode()
> +        for line in get_ip_rdma.split('\n'):
> +            if re.search(r"ACTIVE", line):
> +                interface = line.split(" ")[-2]
> +                ip = netifaces.ifaddresses(interface)[netifaces.AF_INET][0]['addr']
> +                return ip
> +

I suggest that it explicitly returns None if none is found.

Ok, I agree
I'll improve it
 
Thanks!

- Wainer

>   
>       def test_migration_with_tcp_localhost(self):
>           dest_uri = 'tcp:localhost:%u' % self._get_free_port()



Thanks! 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]