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

Add snapshot creation, deletion and restore from snapshot, Clone from PVC support for CephFS volumes. #394

Merged
merged 27 commits into from
Aug 8, 2020

Conversation

humblec
Copy link
Collaborator

@humblec humblec commented Jun 1, 2019

Signed-off-by: Humble Chirammal hchiramm@redhat.com

Describe what this PR does

This PR will cover below features for CephFS:

  • Snapshot Creation
  • Snapshot Deletion
  • Restore from Snapshot
  • Smart cloning support ( PVC to PVC)
  • CephFS snapshotter deployment artifacts including helm charts
  • E2E test for snaphot functionality

Pending:

Additional Info:

*) Manual Testing of above functionalities are performed and its working as expected , see comment #394

@humblec
Copy link
Collaborator Author

humblec commented Mar 3, 2020

As the ceph mgr interface currently provide the mechanism to do snapshot restore clone..etc, I am revisiting this PR to add support for the same in CSI layer.

@humblec humblec added Release-2.1.0 Priority-0 highest priority issue labels Mar 3, 2020
@humblec
Copy link
Collaborator Author

humblec commented Mar 10, 2020

Unfortunately the upstream cephfs container image from above said release ( nautlius 14.2.8 happened on Mar 3rd 2020 ) is yet to be available . Waiting for the same. I see it as a risk to complete this feature before code freeze of release 2.1.

@humblec humblec mentioned this pull request Mar 17, 2020
6 tasks
@nixpanic nixpanic added this to the release-3.0.0 milestone Apr 9, 2020
@nixpanic nixpanic added component/cephfs Issues related to CephFS enhancement New feature or request and removed release-3.0.0 labels Apr 17, 2020
@humblec humblec force-pushed the cephfs-clone branch 2 times, most recently from cf6711c to 15a1cad Compare July 8, 2020 10:58
@humblec
Copy link
Collaborator Author

humblec commented Jul 8, 2020

Marking this in WIP as more testing has to be performed.. Once done will remove the tags.

@humblec humblec changed the title [WIP] [NOT READY FOR REVIEW]: Add snapshot and smart cloning support for CephFS volumes. [NOT READY FOR REVIEW]: Add snapshot and smart cloning support for CephFS volumes. Jul 8, 2020
@humblec humblec force-pushed the cephfs-clone branch 6 times, most recently from 3bfaec6 to d7478ba Compare July 13, 2020 11:21
@ceph ceph deleted a comment from mergify bot Jul 13, 2020
@ceph ceph deleted a comment Jul 13, 2020
@ceph ceph deleted a comment Jul 13, 2020
humblec added 16 commits August 7, 2020 11:58
Compared to previous version of the error strings, this change
depend on error strings like ENOENT, EEXIST, EINVAL..etc
The format of the error strings change in different cluster versions
and the error code return should not change. This also add extra
error strings for snapshot and clone operation outputs

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
From provided CSI volume ID this populate volumeOptions and snapshot
identifier after connecting to the snapJournal.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Also add functionality to generate snap from request
and to get mon and clusterID from the request

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
It also add helper routines like parsetime,doSnapshot..etc

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
As we are populating the volume in other two test cases for clone and
snapshot operation, we dont need a specific test case now.
WriteDataInPod() function is also changed to take the pod spec and write
some data to it

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
@mergify
Copy link
Contributor

mergify bot commented Aug 7, 2020

Command rebase: success

Hey, I reacted but my real name is @Mergifyio

@humblec
Copy link
Collaborator Author

humblec commented Aug 7, 2020

@nixpanic @Madhu-1 may be this is the time for approval 👍

Copy link
Member

@nixpanic nixpanic left a comment

Choose a reason for hiding this comment

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

Thanks for addressing all the comments!

@ShyamsundarR
Copy link
Contributor

LGTM! Not scoring as I have not looked at e2e in totality.

@mergify mergify bot merged commit ef1785c into ceph:master Aug 8, 2020
@humblec
Copy link
Collaborator Author

humblec commented Aug 8, 2020

Thanks a lot @ShyamsundarR @Madhu-1 @nixpanic for taking effort to review such a big PR !! 👍 💯

Nikhil-Ladha pushed a commit to Nikhil-Ladha/ceph-csi that referenced this pull request Oct 9, 2024
Syncing latest changes from upstream devel for ceph-csi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/cephfs Issues related to CephFS enhancement New feature or request Priority-0 highest priority issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants