Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

oep(zfspv): ability to provision application utilizing zfs pool already running on the node via CSI. #2705

Merged
merged 11 commits into from
Sep 25, 2019

Conversation

pawanpraka1
Copy link
Contributor

@pawanpraka1 pawanpraka1 commented Aug 12, 2019

This proposal describs how OpenEBS can support dynamic provisioning of
volumes via CSI using ZFS dataset that are running on local nodes.

Signed-off-by: Pawan pawan@mayadata.io

@pawanpraka1 pawanpraka1 changed the title [WIP] oep(csi): zfspv improgress [WIP] oep(csi): zfspv inprogress Aug 12, 2019
@pawanpraka1 pawanpraka1 changed the title [WIP] oep(csi): zfspv inprogress oep(csi): zfspv inprogress Aug 25, 2019
@pawanpraka1 pawanpraka1 changed the title oep(csi): zfspv inprogress oep(zfspv): ability to provision application utilizing zfs pool already running on the node via CSI. Aug 25, 2019
zfs pool already running on the node via CSI.

Signed-off-by: Pawan <pawan@mayadata.io>
We should be able to create and delete a volume in a kubernetes cluster
using CSI where the volume has to be created on the ZFS pool which is
already running on the node and the higher order applications should be
able to conume this volume.

Choose a reason for hiding this comment

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

spellcheck

Copy link
Contributor Author

Choose a reason for hiding this comment

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

thanks, done.

## Summary

This proposal describs how OpenEBS can support dynamic provisioning of
volumes via **CSI** using ZFS dataset that are running on local nodes.

Choose a reason for hiding this comment

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

Can we mention or rephrase that a ZFS dataset will represent a Kubernetes volume.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yeah, done.

#### Volume Creation Workflow
- CSI driver will handle CSI request for volume create
- CSI driver will read the request parameters and create following resources:
- ZfsVolumeCR _(Kubernetes custom resource)_

Choose a reason for hiding this comment

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

Can we rename this to ZFSVolume

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done.

When kubernetes schedules the application pod according the Topology mentioned in
the StorageClass, The CSI will get a NodePublish event. It will get all the volume
properties from ZfsVolumeCR custom resource and it will fire zfs create command
and creates the volume. It will get the pool name from the storage class and create

Choose a reason for hiding this comment

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

Let CSI take in all the values/config/properties from ZFSVolume object.
Let us avoid making use of StorageClass at this stage.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

corrected it. we are taking that from CR only.

### 1. CSI create volume
At CSI when we get a volume create request, we will create a PV object.
The actual volume will be create at the Node publish time. We will have
StorageClass at this point. We will create a ZfsVolumeCR with all the

Choose a reason for hiding this comment

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

It makes sense to publish the ZFSVolume schema in this doc.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done, added the sample CR for now it may change in future..

Signed-off-by: Pawan <pawan@mayadata.io>
Copy link

@AmitKumarDas AmitKumarDas left a comment

Choose a reason for hiding this comment

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

LGTM

Signed-off-by: Pawan <pawan@mayadata.io>
Signed-off-by: Pawan <pawan@mayadata.io>
Signed-off-by: Pawan <pawan@mayadata.io>
Signed-off-by: Pawan <pawan@mayadata.io>
Signed-off-by: Pawan <pawan@mayadata.io>
Signed-off-by: Pawan <pawan@mayadata.io>
Signed-off-by: Pawan <pawan@mayadata.io>
Signed-off-by: Pawan <pawan@mayadata.io>
Signed-off-by: Pawan <pawan@mayadata.io>
@kmova kmova merged commit 5c6da1b into openebs:master Sep 25, 2019
pranjalvyaas pushed a commit to pranjalvyaas/openebs that referenced this pull request Oct 1, 2019
…dy running on the node via CSI. (openebs#2705)

Initial Design Proposal for supporting provisioning of Local PVs
backed by ZFS using CSI Driver.

Signed-off-by: Pawan <pawan@mayadata.io>
Signed-off-by: pranjalv9 <pranjalvvyas@gmail.com>
@kmova kmova added this to the 1.3 milestone Nov 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants