* Balamuruhan S (bal...@linux.ibm.com) wrote:
> On Mon, Sep 16, 2019 at 03:50:06PM +0100, Dr. David Alan Gilbert wrote:
> > * Balamuruhan S (bal...@linux.ibm.com) wrote:
> > > add migration test to query machine types supported by qemu binary
> > > and migrate vm will all supported type.
> > > 
> > > Signed-off-by: Balamuruhan S <bal...@linux.ibm.com>
> > 
> > Depending on the architecture you might find that some machine types
> > aren't migratable while some are.
> 
> Thanks Dave, is there a way to query/check whether a machine type on the
> architecture is migratable or should we try migrating and handle exception
> on failure ?

I don't know a way to detect it; you can add -only-migratable to get
qemu to fai early if a device is declared as being non-migratable; but
that still doesn't say that all the devices have actually been tested
migrating.

Dave


> -- Bala
> > 
> > Dave
> > 
> > > ---
> > >  tests/acceptance/migration.py | 26 ++++++++++++++++++++++++++
> > >  1 file changed, 26 insertions(+)
> > > 
> > > diff --git a/tests/acceptance/migration.py b/tests/acceptance/migration.py
> > > index 0f3553c8f0..74416ccc21 100644
> > > --- a/tests/acceptance/migration.py
> > > +++ b/tests/acceptance/migration.py
> > > @@ -49,3 +49,29 @@ class Migration(Test):
> > >          self.assertEqual(dest_vm.command('query-status')['status'], 
> > > 'running')
> > >          self.assertEqual(source_vm.command('query-status')['status'],
> > >                           'postmigrate')
> > > +
> > > +
> > > +    def test_migration_with_machine_types(self):
> > > +        migration_port = self._get_free_port()
> > > +        for machine in self.get_machine_types():
> > > +            if 'pseries' in machine:
> > > +                print("migrating with machine type - {}".format(machine))
> > > +                source_vm = self.get_vm('-M', 
> > > '{},cap-htm=off'.format(machine))
> > > +                dest_uri = 'tcp:localhost:%u' % migration_port
> > > +                dest_vm = self.get_vm('-M', 
> > > '{},cap-htm=off'.format(machine),
> > > +                                      '-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(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')
> > > -- 
> > > 2.14.5
> > > 
> > > 
> > --
> > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
> 
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK

Reply via email to