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 <[email protected]> wrote: > > > > From: Caio Carrara <[email protected]> > > > > 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 <[email protected]> > > Signed-off-by: Caio Carrara <[email protected]> > > Reviewed-by: Cleber Rosa <[email protected]> > > Reviewed-by: Wainer dos Santos Moschetta <[email protected]> > > Message-Id: <[email protected]> > > Signed-off-by: Cleber Rosa <[email protected]> > > --- > > 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 <[email protected]> > > +# Caio Carrara <[email protected]> > > +# > > +# 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.
signature.asc
Description: PGP signature
