"Daniel P. Berrange" <berra...@redhat.com> wrote on 04/15/2015 11:35:39 AM:
> From: "Daniel P. Berrange" <berra...@redhat.com> > To: "OpenStack Development Mailing List (not for usage questions)" > <openstack-dev@lists.openstack.org> > Date: 04/15/2015 11:42 AM > Subject: Re: [openstack-dev] [nova] why is evacuate marked as missing > for libvirt? > > On Tue, Apr 14, 2015 at 01:44:45PM -0400, Russell Bryant 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). > > Yep, if there's any mistakes or bizarre things in the support matrix > just remember that the original wiki page had essentially zero information > about what each feature item was referring to - just the two/three word > feature name. When I turned it into formal docs I tried to add better > explanations, but it is entirely possible my interpretations were wrong > in places. So if in doubt assume the support matrix is wrong, and just > send a review to update it to some saner state with better description > of the feature. Pretty much all the features in the matrix could do > with better explanations and/or being broken up into finer grained > features - there's plenty of scope for people to submit patches to > improve the granularity of items. I think that the confusion is caused by something called the "host maintenance mode" [1]. When this is enabled, an evacuate is triggered by the underlying hypervisor. This can mode can be set by the CLI [2] and is not implemented by the libvirt driver. The probably intented API for the feature "evacuate" is [3] which can be triggered via CLI with: * nova evacuate <server> * nova host-evacuate <host> * nova host-evacuate-live <host> The feature "evacuate" has hereby a dependency to "live-migration". As the system z platform doesn't yet has [4] merged, "evacuate" is there "partial" [5] (TODO for me) whereas for x86 there should be "complete". Please correct me if I'm wrong here. Unfortunately I couldn't find any tempest tests for the "evacuate" feature, so I tested in manually. [1] virt.driver.ComputeDriver.host_maintenance_mode(self, host, mode) https://github.com/openstack/nova/blob/2015.1.0rc1/nova/virt/driver.py#L1016 [2] Nova CLI; command "nova host-update" http://docs.openstack.org/cli-reference/content/novaclient_commands.html [3] nova.api.openstack.compute.contrib.evacuate https://github.com/openstack/nova/blob/2015.1.0rc1/nova/api/openstack/compute/contrib/evacuate.py [4] libvirt: handle NotSupportedError in compareCPU https://review.openstack.org/#/c/166130/ [5] "Update hypervisor support matrix with column for kvm on system z" https://review.openstack.org/#/c/172391/ Regards, Markus Zoeller (markus_z) __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev