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