On Tue, Nov 03, 2020 at 11:40:30AM +0100, Philippe Mathieu-Daudé wrote: > Hi, > > On Fri, Feb 22, 2019 at 8:42 PM Cleber Rosa wrote: > > > > From: Caio Carrara > > > > This change adds the simplest possible migration test. Beyond the test > > purpose itself it's also useful to exercise the multi virtual machines > > capabilities from base avocado qemu test class. > > > > Signed-off-by: Cleber Rosa > > Signed-off-by: Caio Carrara > > Reviewed-by: Cleber Rosa > > Reviewed-by: Wainer dos Santos Moschetta > > Message-Id: <20190212193855.13223-3-ccarrara@redhat.com> > > Signed-off-by: Cleber Rosa > > --- > > tests/acceptance/migration.py | 53 +++++++++++++++++++++++++++++++++++ > > 1 file changed, 53 insertions(+) > > create mode 100644 tests/acceptance/migration.py > > > > diff --git a/tests/acceptance/migration.py b/tests/acceptance/migration.py > > new file mode 100644 > > index 0000000000..6115cf6c24 > > --- /dev/null > > +++ b/tests/acceptance/migration.py > > @@ -0,0 +1,53 @@ > > +# Migration test > > +# > > +# Copyright (c) 2019 Red Hat, Inc. > > +# > > +# Authors: > > +# Cleber Rosa > > +# Caio Carrara > > +# > > +# This work is licensed under the terms of the GNU GPL, version 2 or > > +# later. See the COPYING file in the top-level directory. > > + > > + > > +from avocado_qemu import Test > > + > > +from avocado.utils import network > > +from avocado.utils import wait > > + > > + > > +class Migration(Test): > > + """ > > + :avocado: enable > > + """ > > + > > + timeout = 10 > > + > > + @staticmethod > > + def migration_finished(vm): > > + return vm.command('query-migrate')['status'] in ('completed', 'failed') > > + > > + def _get_free_port(self): > > + port = network.find_free_port() > > + if port is None: > > + self.cancel('Failed to find a free port') > > + return port > > This method doesn't seem to work when running with -j2: 2 tests started > with different arch configurations get the same port... Is this a known issue? > It's not bullet proof, but it seems to be quite safe... This is what I've tried: $ ./tests/venv/bin/avocado run --test-runner=nrunner --nrunner-max-parallel-tasks=10 tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost{,,,,,,,,,,,,,,,,,,,} JOB ID : 377957f4a16fbc2c6a6f6d9ae225c61af86bd570 JOB LOG : /home/cleber/avocado/job-results/job-2020-11-03T10.24-377957f/job.log (02/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: STARTED (06/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: STARTED (01/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: STARTED (05/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: STARTED (03/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: STARTED (10/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: STARTED (07/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: STARTED (09/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: STARTED (04/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: STARTED (08/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: STARTED (02/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: PASS (0.46 s) (06/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: PASS (0.60 s) (01/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: PASS (0.51 s) (03/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: PASS (0.49 s) (05/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: PASS (0.52 s) (10/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: PASS (0.51 s) (07/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: PASS (0.52 s) (09/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: PASS (0.53 s) (04/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: PASS (0.49 s) (08/20) tests/acceptance/migration.py:Migration.test_migration_with_tcp_localhost: PASS (0.56 s) ... RESULTS : PASS 20 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0 JOB HTML : /home/cleber/avocado/job-results/job-2020-11-03T10.24-377957f/results.html JOB TIME : 3.82 s If this is about the issue you posted on IRC, it's about s390x and migration instead: 2020-11-03 10:06:33,124 qmp L0255 DEBUG| >>> {'execute': 'query-migrate'} 2020-11-03 10:06:33,124 qmp L0148 DEBUG| <<< {'timestamp': {'seconds': 1604415993, 'microseconds': 124382}, 'event': 'GUEST_PANICKED', 'data': {'action': 'pause', 'info': {'core': 0, 'psw-addr': 0, 'reason': 'disabled-wait', 'psw-mask': I ran across this on Friday, and will properly report it. Let me know if that helps, - Cleber.