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

WIP: Managing Gluster block volumes#1319

Open
aravindavk wants to merge 1 commit into
gluster:masterfrom
aravindavk:blockvolumes_design
Open

WIP: Managing Gluster block volumes#1319
aravindavk wants to merge 1 commit into
gluster:masterfrom
aravindavk:blockvolumes_design

Conversation

@aravindavk

Copy link
Copy Markdown
Member

Updates: #912
Signed-off-by: Aravinda VK avishwan@redhat.com

Updates: #912
Signed-off-by: Aravinda VK <avishwan@redhat.com>
@atinmu

atinmu commented Nov 8, 2018

Copy link
Copy Markdown
Contributor

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

amarts commented Nov 8, 2018

Copy link
Copy Markdown
Member

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

@amarts amarts left a comment

Copy link
Copy Markdown
Member

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 humblec and obnoxxx November 8, 2018 06:40
@atinmu

atinmu commented Nov 8, 2018

Copy link
Copy Markdown
Contributor

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
Copy Markdown
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

amarts commented Nov 8, 2018

Copy link
Copy Markdown
Member

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

obnoxxx commented Nov 8, 2018

Copy link
Copy Markdown
Contributor

@phlogistonjohn @raghavendra-talur Please review this!

@amarts

amarts commented Nov 8, 2018

Copy link
Copy Markdown
Member

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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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 <okumar@redhat.com>
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