Skip to content
This repository has been archived by the owner on Mar 26, 2020. It is now read-only.

WIP: Managing Gluster block volumes #1319

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

WIP: Managing Gluster block volumes #1319

wants to merge 1 commit into from

Conversation

aravindavk
Copy link
Member

Updates: #912
Signed-off-by: Aravinda VK [email protected]

Updates: #912
Signed-off-by: Aravinda VK <[email protected]>
@atinmu
Copy link
Contributor

atinmu commented Nov 8, 2018

Great start! While this document captures on the internals of the APIs and how the business logic will be implemented based on different conditions on available block volumes, size et all, it'd be awesome if we can have a design flow (mainly a diagram) which can illustrate the workflow above and underneath the GD2 layers to have a better grasp on the design for the beginners.

Thoughts?

@amarts
Copy link
Member

amarts commented Nov 8, 2018

Thoughts?

I guess, in none of these APIs, there is any role of GD2 at all. This provides 1-1 mapping between gluster-block-cli to a gd2 plugin API. (As already mentioned in doc).

Only change is, if there is no block-hosting-volume present, then it would create one. (And also see if the volume is full, create one more).

Copy link
Member

@amarts amarts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@amarts amarts requested review from obnoxxx and humblec November 8, 2018 06:40
@atinmu
Copy link
Contributor

atinmu commented Nov 8, 2018

I guess, in none of these APIs, there is any role of GD2 at all. This provides 1-1 mapping between gluster-block-cli to a gd2 plugin API. (As already mentioned in doc).

Probably it's unfair to say that GD2 plugin API is not GD2's responsibility :-)

@aravindavk
Copy link
Member Author

Probably it's unfair to say that GD2 plugin API is not GD2's responsibility :-)

As @amarts mentioned, this feature can be developed without changing glusterd2. Except the block hosting volume management all other steps can be done with Gluster mount(Can be outside the cluster).

Also, if we replace block cli commands with mount, mkdir and xfs quota, then it will become flex volume plugin. (If we replace block cli command with mount, loop device create then it will become loop dev plugin)

@amarts
Copy link
Member

amarts commented Nov 8, 2018

Probably it's unfair to say that GD2 plugin API is not GD2's responsibility :-)

Yes, and hence the discussion is going on @ gluster/gcs#40

Ideally, we would have done this as part of CSI driver itself, but as requested, if we keep the API similar to heketi in gd2, then we can actually write a single CSI driver which would work for both stack. Which means, it is much easier to validate if g-b works as same as current stack too.

This document, and work would be phase#1 of the work, and once things stabilize, and more well integrated, we may still have to move it out to CSI driver.

@obnoxxx
Copy link
Contributor

obnoxxx commented Nov 8, 2018

@phlogistonjohn @raghavendra-talur Please review this!

@amarts
Copy link
Member

amarts commented Nov 8, 2018

Update for those who are reviewing, at the end of discussion in a meeting today, thought of doing all these as a separate project (or as a sub-process) of gluster-block came up. Which means that gluster-block plugin in plan itself can work as a solution to gluster/gluster-block#43 and also would solve the issue of having 'gluster-block CLI' as a separate process.

Happy to hear feedback.

oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Nov 30, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Nov 30, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Dec 11, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Dec 12, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Dec 17, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Dec 17, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Dec 17, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Dec 17, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Dec 18, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Dec 18, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Dec 19, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Dec 21, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Dec 24, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Dec 31, 2018
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Jan 3, 2019
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
oshankkumar pushed a commit to oshankkumar/glusterd2 that referenced this pull request Jan 4, 2019
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: gluster#1319

Signed-off-by: Oshank Kumar <[email protected]>
aravindavk pushed a commit that referenced this pull request Jan 7, 2019
 - added APIs for creation,deleting and listing block volumes.
 - added pluggable interface for block volume providers.

Refer Design Doc: #1319

Signed-off-by: Oshank Kumar <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants