[manila] share group replication spike/questions

Goutham Pacha Ravi gouthampravi at gmail.com
Thu Feb 27 23:09:59 UTC 2020


On Tue, Feb 25, 2020 at 12:53 AM <Dong.Ding at dell.com> wrote:

> Hi, guys,
>
> As we talked about the topic in a virtual PTG few months ago.
>
> https://etherpad.openstack.org/p/shanghai-ptg-manila-virtual (*Support
> promoting several shares in group (DELL EMC: dingdong) *
>
>
>
> I’m trying to write a manila-spec for it.
>

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.


> It’s my first experience to implement such feature in framework.
>
> I need to double check with you something, and hope you can give me some
> guides like:
>
> 1.                Where is the extra-spec defined for group/group type,
> it’s in Manila repo, right? (like manila.db.sqlalchemy.models….)
>
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.

> 2.                The command cli should be implemented for
> ‘python-manilaclinet’ repo, right?  (I have never touched this repo before)
>
Yes. python-manilaclient encompasses
  - a python SDK to version 2 of the manila API
  - two shell implementations: manila and openstack client (actively being
developed)

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).



> 3.                Where is the rest-api should be implemented?
>
The rest API is in the openstack/manila repository. [4][5] contain some
documentation regarding how to change the manila API.


> 4.                And more tips you have? like any other related project
> should be changed?
>
For any new feature, we need these additional things besides working code:
- 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])
- The feature must be tested with adequate test cases in
manila-tempest-plugin
- Documentation must be added to the manila documentation [7]

> Just list what I know, and more details questions will be raised when
> implementing, I think.
>
> FYI
>
> Thanks,
>
> Ding Dong
>

Happy to answer any more questions, here or on your specification [0]

Thanks,
Goutham

[0] https://review.opendev.org/#/c/710166/
[1] https://review.opendev.org/#/c/446044/
[2] https://review.opendev.org/#/c/447474/
[3]
https://opendev.org/openstack/python-manilaclient/src/commit/ac5ca461e8c8dd11fe737de7b90ab5c33366ab35/manilaclient/v2/shell.py#L4543
[4]
https://docs.openstack.org/manila/latest/contributor/addmethod.openstackapi.html
[5]
https://docs.openstack.org/manila/latest/contributor/api_microversion_dev.html
[6]
https://opendev.org/openstack/manila/src/commit/68a18f49472ac7686ceab15e9788dcef05764822/manila/tests/share/drivers/dummy.py
[7]
https://docs.openstack.org/manila/latest/contributor/documenting_your_work.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20200227/183b7058/attachment-0001.html>


More information about the openstack-discuss mailing list