<div dir="ltr">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: <a href="https://review.openstack.org/#/c/362637/">https://review.openstack.org/#/c/362637/</a></div><div class="gmail_extra"><br><div class="gmail_quote">On 2 September 2016 at 22:51, Matt Riedemann <span dir="ltr"><<a href="mailto:mriedem@linux.vnet.ibm.com" target="_blank">mriedem@linux.vnet.ibm.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 9/1/2016 4:09 PM, Ildiko Vancsa wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<br>
<br>
<br>
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.<br>
<br>
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:<br>
<br>
* Have one ‘create_attachment' call that will contain the functionality of the current ‘initialize_connection’ and ‘attach’ calls<br>
* Have one ‘remove_attachment’ call for detach<br>
* 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.<br>
<br>
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.<br>
<br>
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.<br>
<br>
We started some work to reduce race conditions and remove a few workarounds from mostly the Nova code base as well during this cycle.<br>
<br>
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.<br>
</blockquote>
<br></span>
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:<br>
<br>
<a href="https://github.com/openstack/nova/blob/96926a8ee182550391c30b16b410da7f598c0f39/nova/volume/cinder.py#L290" rel="noreferrer" target="_blank">https://github.com/openstack/n<wbr>ova/blob/96926a8ee182550391c30<wbr>b16b410da7f598c0f39/nova/<wbr>volume/cinder.py#L290</a><br>
<br>
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.<span class="im HOEnZb"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
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.<br>
<br>
We still have the etherpad for this work up [7], I will add the links in this mail to the top for better readability.<br>
<br>
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.<br>
<br>
If you have any questions or comments please respond to this thread or join the meeting next Monday.<br>
<br>
<br>
Thanks and Best Regards,<br>
Ildikó<br>
<br>
[1] <a href="https://review.openstack.org/#/c/327408/" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/327408/</a><br>
[2] <a href="https://review.openstack.org/#/c/327409/" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/327409/</a><br>
[3] <a href="https://review.openstack.org/#/c/330285/" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/330285/</a><br>
[4] <a href="https://review.openstack.org/#/c/315789/" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/315789/</a><br>
[5] <a href="https://review.openstack.org/#/c/335358/" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/335358/</a><br>
[6] <a href="https://review.openstack.org/#/c/312773/" rel="noreferrer" target="_blank">https://review.openstack.org/#<wbr>/c/312773/</a><br>
[7] <a href="https://etherpad.openstack.org/p/cinder-nova-api-changes" rel="noreferrer" target="_blank">https://etherpad.openstack.org<wbr>/p/cinder-nova-api-changes</a><br>
<br>
<br>
<br>
______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><br>
<br>
</blockquote>
<br>
<br></span><span class="HOEnZb"><font color="#888888">
-- <br>
<br>
Thanks,<br>
<br>
Matt Riedemann</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.op<wbr>enstack.org?subject:unsubscrib<wbr>e</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>-- <br>Duncan Thomas</div></div></div>
</div>