[openstack-dev] [cinder] [nova] API interaction changes overview

Duncan Thomas duncan.thomas at gmail.com
Sat Sep 3 18:07:10 UTC 2016


There's also another API limitation to be fixed - whether it goes in the
initial API fixup or gets done later, which is a round one cinder serving
multiple nova or other consumers: https://review.openstack.org/#/c/362637/

On 2 September 2016 at 22:51, Matt Riedemann <mriedem at linux.vnet.ibm.com>
wrote:

> On 9/1/2016 4:09 PM, Ildiko Vancsa wrote:
>
>> Hi All,
>>
>>
>> As we skipped a few meetings and we also reached the N-3 milestone this
>> week I would like to summarise where we are currently with our plans.
>>
>> At the beginning of the Newton cycle we decided to refactor the Cinder
>> API around attach and detach to make Cinder more a standalone module and
>> also to simplify the interaction between Nova and Cinder. The changes in
>> high level are the following:
>>
>> * Have one ‘create_attachment' call that will contain the functionality
>> of the current ‘initialize_connection’ and ‘attach’ calls
>> * Have one ‘remove_attachment’ call for detach
>> * There are further plans to extend the Cinder API to check whether it is
>> safe to remove a connection to prepare for the multi-attach use case.
>>
>> The code is already on its way [1][2][3], we plan to merge the Cinder
>> side of changes as an experimental API as soon as possible. We can then
>> continue to test the changes on the Nova side. When the Cinder API changes
>> are stable we will add proper API microversioning to enable Nova to pick it
>> up the right way and use the new API with support for backward
>> compatibility.
>>
>> This work should provide the benefit of removing workarounds from the
>> Nova code and make those parts more readable and easier to maintain. We
>> will also get very close to support multi-attach in both modules when we
>> progress with the above listed changes.
>>
>> We started some work to reduce race conditions and remove a few
>> workarounds from mostly the Nova code base as well during this cycle.
>>
>> We had an attempt to remove ‘check_attach’ from the Nova code, as this
>> check should be purely Cinder’s responsibility. The call is partially
>> removed [4] and there’s one patch up for review to finish that work item
>> [5]. The difficulty with this one is that we have one flow that missed the
>> ‘reserve_volume’ call and therefore also the required checks on Cinder
>> side. This is corrected in the patch up for review [5], it needs some more
>> eyes on it to ensure we have the proper fix.
>>
>
> I haven't gone through the new experimental APIs proposed in cinder but
> while Walter was working on [4] we realized a gap in the os-reserve call in
> that we should pass the availability zone since nova still has to check
> that separately:
>
> https://github.com/openstack/nova/blob/96926a8ee182550391c30
> b16b410da7f598c0f39/nova/volume/cinder.py#L290
>
> That seems like something we could do separately early in ocata with a
> microversion on the os-reserve API to take an optional availability_zone
> argument and fail if it doesn't match the AZ for the volume being reserved.
>
>
>> We also started to look into how to remove the unnecessary
>> ‘initialize_connection’ calls [6] from the Nova code. We need more review
>> attention on this one also as when we will have the new calls in the Cinder
>> API we need to rethink some of the current workarounds to make things like
>> live migration work with the new setup.
>>
>> We still have the etherpad for this work up [7], I will add the links in
>> this mail to the top for better readability.
>>
>> We will have the next meeting at the regular slot we use next Monday to
>> check on the status and decide on what we can make happen before the Summit
>> and also start to plan a little bit for the event itself as well. The
>> meeting is on #openstack-meeting-cp, on Monday (Sept. 5) 1700UTC.
>>
>> If you have any questions or comments please respond to this thread or
>> join the meeting next Monday.
>>
>>
>> Thanks and Best Regards,
>> Ildikó
>>
>> [1] https://review.openstack.org/#/c/327408/
>> [2] https://review.openstack.org/#/c/327409/
>> [3] https://review.openstack.org/#/c/330285/
>> [4] https://review.openstack.org/#/c/315789/
>> [5] https://review.openstack.org/#/c/335358/
>> [6] https://review.openstack.org/#/c/312773/
>> [7] https://etherpad.openstack.org/p/cinder-nova-api-changes
>>
>>
>>
>> ____________________________________________________________
>> ______________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscrib
>> e
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>
> --
>
> Thanks,
>
> Matt Riedemann
>
>
>
> __________________________________________________________________________
> 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
>



-- 
-- 
Duncan Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160903/33e0b226/attachment.html>


More information about the OpenStack-dev mailing list