[openstack-dev] [nova] About doing the migration claim with Placement API

Sylvain Bauza sbauza at redhat.com
Wed Nov 2 12:02:29 UTC 2016



Le 02/11/2016 12:26, Alex Xu a écrit :
>
>
> 2016-11-02 16:26 GMT+08:00 Sylvain Bauza <sbauza at redhat.com 
> <mailto:sbauza at redhat.com>>:
>
>
>
>     Le 01/11/2016 15:14, Alex Xu a écrit :
>>     Currently we only update the resource usage with Placement API in
>>     the instance claim and the available resource update periodic
>>     task. But there is no claim for migration with placement API yet.
>>     This works is tracked by
>>     https://bugs.launchpad.net/nova/+bug/1621709
>>     <https://bugs.launchpad.net/nova/+bug/1621709>. In newton, we
>>     only fix one bit which make the resource update periodic task
>>     works correctly, then it will auto-heal everything. For the
>>     migration claim part, that isn't the goal for newton release.
>
>     To be clear, there are two distinct points :
>     #1 there are MoveClaim objects that are synchronously made on
>     resize (and cold-migrate) and rebuild (and evacuate), but there is
>     no claim done by the live-migration path.
>     There is a long-standing bugfix
>     https://review.openstack.org/#/c/244489/
>     <https://review.openstack.org/#/c/244489/> that's been tracked by
>     https://bugs.launchpad.net/nova/+bug/1289064
>     <https://bugs.launchpad.net/nova/+bug/1289064>
>
>
> Yea, thanks for the info. I say `migration claim` is more about the 
> move claim. Maybe I should say the move claim.
>
>

Np, just a clarification for all of us, not you in particular :-)

>
>     #2 all those claim operations don't trigger an allocation request
>     to the placement API, while the regular boot operation does (hence
>     your bug report).
>
>
> Yes, except the booting new instance, other claims won't trigger 
> allocation request to the placement API.

Oops, I badly wrote my prose in English, I meant your point, ie. that we 
only write allocation requests for boot operations, and not for move 
operations.
>
>
>
>
>>
>>     So the first question is do we want to fix it in this release? If
>>     the answer is yes, there have a concern need to discuss.
>>
>
>     I'd appreciate if we could merge first #1 before #2 because the
>     placement API decisions could be wrong if we decide to only
>     allocate for certain move operations.
>
>
> Sorry, I didn't get you, what is 'the placement API decisions' pointed to?

I personnally think that rather writing allocation records for all move 
operations but the live-migration case, we should first have the move 
operations being consistent by doing claim operations and only that 
being done, consider writing those allocation records to the placement API.

-Sylvain

>
>
>>     In order to implement the drop of migration claim, the RT needs
>>     to remove allocation records on the specific RP(on the
>>     source/destination compute node). But there isn't any API can do
>>     that. The API about remove allocation records is 'DELETE
>>     /allocations/{consumer_uuid}', but it will delete all the
>>     allocation records for the consumer. So the initial
>>     fix(https://review.openstack.org/#/c/369172/
>>     <https://review.openstack.org/#/c/369172/>) adds new API 'DELETE
>>     /resource_providers/{rp_uuid}/allocations/{consumer_id}'. But
>>     Chris Dent pointed out this against the original design. All the
>>     allocations for the specific consumer only can be dropped together.
>>
>>     There also have suggestion from Andrew, we can update all the
>>     allocation records for the consumer each time. That means the RT
>>     will build the original allocation records and new allocation
>>     records for the claim together, and put into one API. That API
>>     should be 'PUT /allocations/{consumer_uuid}'. Unfortunately that
>>     API doesn't replace all the allocation records for the consumer,
>>     it always amends the new allocation records for the consumer.
>>
>>     So which directly we should go at here?
>>
>>     Thanks
>>     Alex
>>
>>
>>
>>
>>     __________________________________________________________________________
>>     OpenStack Development Mailing List (not for usage questions)
>>     Unsubscribe:OpenStack-dev-request at lists.openstack.org?subject:unsubscribe  <mailto:OpenStack-dev-request at lists.openstack.org?subject:unsubscribe>
>>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev  <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
>
>     __________________________________________________________________________
>     OpenStack Development Mailing List (not for usage questions)
>     Unsubscribe:
>     OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>     <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>     <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
>
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20161102/5a83b358/attachment.html>


More information about the OpenStack-dev mailing list