<div dir="ltr"><div dir="ltr"><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 25, 2020 at 12:53 AM <<a href="mailto:Dong.Ding@dell.com">Dong.Ding@dell.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div class="gmail-m_-7980980600882166521WordSection1">
<p class="MsoNormal">Hi, guys,<u></u><u></u></p>
<p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal">As we talked about the topic in a virtual PTG few months ago.<u></u><u></u></p>
<p class="MsoNormal"><a href="https://etherpad.openstack.org/p/shanghai-ptg-manila-virtual" target="_blank">https://etherpad.openstack.org/p/shanghai-ptg-manila-virtual</a> (<b>Support promoting several shares in group (DELL EMC: dingdong)
</b><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I’m trying to write a manila-spec for it.</p></div></div></blockquote><div><br></div><div>Hi, thank you for working on this, and for submitting a specification [0]. We're targeting this for the Victoria release, correct? I like working on these major changes as soon as possible giving us enough air time for testing and hardening. <br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_-7980980600882166521WordSection1"><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal">It’s my first experience to implement such feature in framework.<u></u><u></u></p>
<p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal">I need to double check with you something, and hope you can give me some guides like:<u></u><u></u></p>
<p class="gmail-m_-7980980600882166521MsoListParagraph" style="margin-left:0.75in">
<u></u><span>1.<span style="font:7pt "Times New Roman"">               
</span></span><u></u>Where is the extra-spec defined for group/group type, it’s in Manila repo, right? (like manila.db.sqlalchemy.models….)  
</p></div></div></blockquote><div>Group type extra specs are added as storage capabilities first, you begin by modifying the driver interface to report this group type capability. When share drivers report their support for group replication, operators can use the corresponding string in their group type extra-specs to schedule appropriately. I suggest taking a look at an existing share group type capability called "consistent_snapshot_support". [1] and [2] are reviews that added it. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_-7980980600882166521WordSection1"><p class="gmail-m_-7980980600882166521MsoListParagraph" style="margin-left:0.75in"><u></u><u></u></p>
<p class="gmail-m_-7980980600882166521MsoListParagraph" style="margin-left:0.75in">
<u></u><span>2.<span style="font:7pt "Times New Roman"">               
</span></span><u></u>The command cli should be implemented for ‘python-manilaclinet’ repo, right?  (I have never touched this repo before)</p></div></div></blockquote><div>Yes. python-manilaclient encompasses</div><div>  - a python SDK to version 2 of the manila API</div><div>  - two shell implementations: manila and openstack client (actively being developed)</div><div><br></div><div>Group type extra-specs are passed transparently through the SDK and CLI, you may probably add some documentation or shell hint text (like [3] if needed). <br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_-7980980600882166521WordSection1"><p class="gmail-m_-7980980600882166521MsoListParagraph" style="margin-left:0.75in"><u></u><u></u></p>
<p class="gmail-m_-7980980600882166521MsoListParagraph" style="margin-left:0.75in">
<u></u><span>3.<span style="font:7pt "Times New Roman"">               
</span></span><u></u>Where is the rest-api should be implemented?   </p></div></div></blockquote><div>The rest API is in the openstack/manila repository. [4][5] contain  some documentation regarding how to change the manila API.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_-7980980600882166521WordSection1"><p class="gmail-m_-7980980600882166521MsoListParagraph" style="margin-left:0.75in"><u></u><u></u></p>
<p class="gmail-m_-7980980600882166521MsoListParagraph" style="margin-left:0.75in">
<u></u><span>4.<span style="font:7pt "Times New Roman"">               
</span></span><u></u>And more tips you have? like any other related project should be changed?</p></div></div></blockquote><div>For any new feature, we need these additional things besides working code:</div><div>- A first party driver implementation where possible so we can test this feature in the upstream CI (if no first party driver can support this feature, you'll need to make the best approximation of this feature through the Dummy/Fake driver [6])<br></div><div>- The feature must be tested with adequate test cases in manila-tempest-plugin</div><div>- Documentation must be added to the manila documentation [7]<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_-7980980600882166521WordSection1"><p class="gmail-m_-7980980600882166521MsoListParagraph" style="margin-left:0.75in"><u></u><u></u></p>
<p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal">Just list what I know, and more details questions will be raised when implementing, I think.<u></u><u></u></p>
<p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal">FYI<u></u><u></u></p>
<p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
<p class="MsoNormal">Ding Dong</p></div></div></blockquote><div><br></div><div>Happy to answer any more questions, here or on your specification [0]</div><div><br></div><div>Thanks, <br></div><div>Goutham<br></div><div><br></div><div>[0] <a href="https://review.opendev.org/#/c/710166/">https://review.opendev.org/#/c/710166/</a></div><div>[1] <a href="https://review.opendev.org/#/c/446044/">https://review.opendev.org/#/c/446044/</a></div><div>[2] <a href="https://review.opendev.org/#/c/447474/">https://review.opendev.org/#/c/447474/</a></div><div>[3] <a href="https://opendev.org/openstack/python-manilaclient/src/commit/ac5ca461e8c8dd11fe737de7b90ab5c33366ab35/manilaclient/v2/shell.py#L4543">https://opendev.org/openstack/python-manilaclient/src/commit/ac5ca461e8c8dd11fe737de7b90ab5c33366ab35/manilaclient/v2/shell.py#L4543</a></div><div>[4] <a href="https://docs.openstack.org/manila/latest/contributor/addmethod.openstackapi.html">https://docs.openstack.org/manila/latest/contributor/addmethod.openstackapi.html</a></div><div>[5] <a href="https://docs.openstack.org/manila/latest/contributor/api_microversion_dev.html">https://docs.openstack.org/manila/latest/contributor/api_microversion_dev.html</a></div><div>[6] <a href="https://opendev.org/openstack/manila/src/commit/68a18f49472ac7686ceab15e9788dcef05764822/manila/tests/share/drivers/dummy.py">https://opendev.org/openstack/manila/src/commit/68a18f49472ac7686ceab15e9788dcef05764822/manila/tests/share/drivers/dummy.py</a></div><div>[7] <a href="https://docs.openstack.org/manila/latest/contributor/documenting_your_work.html">https://docs.openstack.org/manila/latest/contributor/documenting_your_work.html</a></div><div><br></div></div></div>