[openstack-dev] [nova] why is evacuate marked as missing for libvirt?

John Garbutt john at johngarbutt.com
Tue Apr 14 20:32:39 UTC 2015


On 14 April 2015 at 18:44, Russell Bryant <rbryant at redhat.com> wrote:
> On 04/14/2015 12:22 PM, Matt Riedemann wrote:
>> This came up in IRC this morning, but the hypervisor support matrix is
>> listing evacuate as 'missing' for the libvirt driver:
>>
>> http://docs.openstack.org/developer/nova/support-matrix.html#operation_evacuate
>>
>>
>> Does anyone know why that is?  The rebuild method in the compute manager
>> just re-uses other virt driver operations so by default it's implemented
>> by all drivers.  The only one that overrides rebuild for evacuate is the
>> ironic driver.
>
> I think it's a case where there are a couple of different things
> referred to with 'evacuate'.  I believe this was originally added to
> track something that was effectively XenServer specific and the
> description of the feature seems to reflect that.  We've since added the
> more generic 'evacuate' API, so it's pretty confusing.  It should
> probably be reworked to track which drivers work with the 'evacuate' API
> call, and perhaps have a different entry for whatever this different
> XenServer thing is (or was).
>
>> This is allows a host to be placed into maintenance mode,
>
> This can be done with 'nova service-disable' for libvirt, but IIRC was
> directly a part of the XenServer feature.
>
>> automatically triggering migration of any running instances to an
>> alternative host and preventing new instances from being launched
>
> and this isn't a part of the 'evacuate' API call at all.  The API call
> expects that the hypervisor is gone/dead.  There's no automatic moving
> of stuff running.

Oh right, that was part of the experimental support for XenServer
pools. Basically using the pool's ability to live-migrate VMs off that
host. I would be shocked if that untested feature still works, I am
hoping we can finally deprecate the current XenAPI pool support soon.

I would nuke that, and replace it with the regular "evacuate" API.
(XenServer driver supports the newer evacuate API in the normal way,
AFAIK).

Thanks,
John



More information about the OpenStack-dev mailing list