[Openstack] Question on virt interfaces

Brian Lamar brian.lamar at rackspace.com
Fri Sep 9 14:53:18 UTC 2011


>> """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" <harlowja at yahoo-inc.com>
Sent: Thursday, September 8, 2011 7:49pm
To: "openstack" <openstack at lists.launchpad.net>
Subject: [Openstack] Question on virt interfaces

_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack at lists.launchpad.net
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??).









More information about the Openstack mailing list