>> """This method is supported only by libvirt."""

This means that currently live migration is only implemented in the 
Nova-libvirt driver. We have a number of different drivers in Nova, and one of 
them uses libvirt as the underlying hypervisor connection.

The libvirt project supports connecting to Xen/XenServer hypervisors but the 
reason we have the Nova-libvirt *and* Nova-xenapi drivers in Nova is because 
libvirt can't provide a lot of new/Xen-specific features that we get from 
calling the XenAPI directly.


>> So why wouldn't this method say just proxy into libvirt?

As Kei points out, live migrations in libvirt are only when using KVM so a 
proxy to the libvirt driver wouldn't work (but it's a really interesting idea!).


>> Seems odd to have an interface which has functions which can be only 
>> implemented by a 
>> single implementation (isn't it not really an interface if its not supported 
>> by all 
>> impls??).

Yeah, I've had the same issues you seem to be struggling with. Long story short 
when you're doing what this project is doing and attempting to be flexible with 
several different diverse implementations you're going to encounter areas where 
some drivers just don't support things. I feel like this should just go away 
and then NotImplementedError would be raised as it's not implemented. This was 
also pointed out by Kei.



-----Original Message-----
From: "Joshua Harlow" <[email protected]>
Sent: Thursday, September 8, 2011 7:49pm
To: "openstack" <[email protected]>
Subject: [Openstack] Question on virt interfaces

_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp
This email may include confidential information. If you received it in error, 
please delete it.
Hi all,

I was wondering about the following I am seeing in code:

Say in xenapi_conn.py I see:

    def live_migration(self, context, instance_ref, dest,
                       post_method, recover_method):
        """This method is supported only by libvirt."""
        return

But doesn't libvirt also support xenapi/xenserver?
So why wouldn't this method say just proxy into libvirt?
Seems odd to have an interface which has functions which can be only 
implemented by a single implementation (isn't it not really an interface if its 
not supported by all impls??).






_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to