Hi Wainer, Thanks for review On Fri, Feb 21, 2020 at 8:31 PM Wainer dos Santos Moschetta < wainersm@redhat.com> 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 > > --- > > 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!