qemu-block
[Top][All Lists]
Advanced

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

Re: [PULL 5/7] tests.acceptance: adds simple migration test


From: Cleber Rosa
Subject: Re: [PULL 5/7] tests.acceptance: adds simple migration test
Date: Tue, 3 Nov 2020 10:27:03 -0500

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 <crosa@redhat.com> wrote:
> >
> > From: Caio Carrara <ccarrara@redhat.com>
> >
> > 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 <crosa@redhat.com>
> > Signed-off-by: Caio Carrara <ccarrara@redhat.com>
> > Reviewed-by: Cleber Rosa <crosa@redhat.com>
> > Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
> > Message-Id: <20190212193855.13223-3-ccarrara@redhat.com>
> > Signed-off-by: Cleber Rosa <crosa@redhat.com>
> > ---
> >  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 <crosa@redhat.com>
> > +#  Caio Carrara <ccarrara@redhat.com>
> > +#
> > +# 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.

Attachment: signature.asc
Description: PGP signature


reply via email to

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