Message ID | 20200203111631.18796-2-ovoshcha@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Acceptance test: provides to use different transport for migration | expand |
Hi Oksana, On 2/3/20 12:16 PM, Oksana Vohchana wrote: > Along with VM migration via TCP, we can use migration through EXEC > and UNIX transport protocol > > Signed-off-by: Oksana Vohchana <ovoshcha@redhat.com> > > --- > v2: > - Removes unnecessary symbols and unused method > > v3: > - Makes refactoring and split into 2 patches > Signed-off-by: Oksana Vohchana <ovoshcha@redhat.com> > --- > tests/acceptance/migration.py | 36 ++++++++++++++++++++--------------- > 1 file changed, 21 insertions(+), 15 deletions(-) > > diff --git a/tests/acceptance/migration.py b/tests/acceptance/migration.py > index a44c1ae58f..34263d8eeb 100644 > --- a/tests/acceptance/migration.py > +++ b/tests/acceptance/migration.py > @@ -24,6 +24,26 @@ class Migration(Test): > def migration_finished(vm): > return vm.command('query-migrate')['status'] in ('completed', 'failed') > > + def assert_migration(self, source_vm, dest_vm): > + wait.wait_for(self.migration_finished, > + timeout=self.timeout, > + step=0.1, > + args=(source_vm,)) > + self.assertEqual(source_vm.command('query-migrate')['status'], 'completed') > + self.assertEqual(dest_vm.command('query-migrate')['status'], 'completed') > + self.assertEqual(dest_vm.command('query-status')['status'], 'running') > + self.assertEqual(source_vm.command('query-status')['status'], 'postmigrate') > + > + def do_migrate(self, dest_uri, src_uri=None): > + source_vm = self.get_vm() > + dest_vm = self.get_vm('-incoming', dest_uri) > + dest_vm.launch() > + if src_uri is None: > + src_uri = dest_uri > + source_vm.launch() > + source_vm.qmp('migrate', uri=src_uri) > + self.assert_migration(source_vm, dest_vm) > + Do you mind if I split this patch in 2 when applying to python-next, and change the subjects as "Extract Migration::assert_migration" and "Extract Migration::do_migrate"? Meanwhile: Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > def _get_free_port(self): > port = network.find_free_port() > if port is None: > @@ -32,19 +52,5 @@ class Migration(Test): > > > def test_migration_with_tcp_localhost(self): > - source_vm = self.get_vm() > dest_uri = 'tcp:localhost:%u' % self._get_free_port() > - dest_vm = self.get_vm('-incoming', dest_uri) > - dest_vm.launch() > - source_vm.launch() > - source_vm.qmp('migrate', uri=dest_uri) > - wait.wait_for( > - self.migration_finished, > - timeout=self.timeout, > - step=0.1, > - args=(source_vm,) > - ) > - self.assertEqual(dest_vm.command('query-migrate')['status'], 'completed') > - self.assertEqual(source_vm.command('query-migrate')['status'], 'completed') > - self.assertEqual(dest_vm.command('query-status')['status'], 'running') > - self.assertEqual(source_vm.command('query-status')['status'], 'postmigrate') > + self.do_migrate(dest_uri) >
diff --git a/tests/acceptance/migration.py b/tests/acceptance/migration.py index a44c1ae58f..34263d8eeb 100644 --- a/tests/acceptance/migration.py +++ b/tests/acceptance/migration.py @@ -24,6 +24,26 @@ class Migration(Test): def migration_finished(vm): return vm.command('query-migrate')['status'] in ('completed', 'failed') + def assert_migration(self, source_vm, dest_vm): + wait.wait_for(self.migration_finished, + timeout=self.timeout, + step=0.1, + args=(source_vm,)) + self.assertEqual(source_vm.command('query-migrate')['status'], 'completed') + self.assertEqual(dest_vm.command('query-migrate')['status'], 'completed') + self.assertEqual(dest_vm.command('query-status')['status'], 'running') + self.assertEqual(source_vm.command('query-status')['status'], 'postmigrate') + + def do_migrate(self, dest_uri, src_uri=None): + source_vm = self.get_vm() + dest_vm = self.get_vm('-incoming', dest_uri) + dest_vm.launch() + if src_uri is None: + src_uri = dest_uri + source_vm.launch() + source_vm.qmp('migrate', uri=src_uri) + self.assert_migration(source_vm, dest_vm) + def _get_free_port(self): port = network.find_free_port() if port is None: @@ -32,19 +52,5 @@ class Migration(Test): def test_migration_with_tcp_localhost(self): - source_vm = self.get_vm() dest_uri = 'tcp:localhost:%u' % self._get_free_port() - dest_vm = self.get_vm('-incoming', dest_uri) - dest_vm.launch() - source_vm.launch() - source_vm.qmp('migrate', uri=dest_uri) - wait.wait_for( - self.migration_finished, - timeout=self.timeout, - step=0.1, - args=(source_vm,) - ) - self.assertEqual(dest_vm.command('query-migrate')['status'], 'completed') - self.assertEqual(source_vm.command('query-migrate')['status'], 'completed') - self.assertEqual(dest_vm.command('query-status')['status'], 'running') - self.assertEqual(source_vm.command('query-status')['status'], 'postmigrate') + self.do_migrate(dest_uri)