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: Philippe Mathieu-Daudé
Subject: Re: [PULL 5/7] tests.acceptance: adds simple migration test
Date: Tue, 3 Nov 2020 19:10:16 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1

On 11/3/20 4:27 PM, Cleber Rosa wrote:
> 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

Thanks for the testing.

> 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.

Ah I missed that *sigh* thanks.

> 
> Let me know if that helps,
> - Cleber.
> 




reply via email to

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