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

Ildiko Vancsa ildiko.vancsa at gmail.com
Thu Sep 1 21:09:09 UTC 2016


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.

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





More information about the OpenStack-dev mailing list