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 support for smart cloning in rbd #675

Closed
Madhu-1 opened this issue Oct 9, 2019 · 9 comments
Closed

Add support for smart cloning in rbd #675

Madhu-1 opened this issue Oct 9, 2019 · 9 comments
Assignees
Labels
component/rbd Issues related to RBD
Milestone

Comments

@Madhu-1
Copy link
Collaborator

Madhu-1 commented Oct 9, 2019

below are the sub-tasks to achieve the smart cloning

  • Implement stand-alone snapshot creation more info here (Add support for standalone snapshot creation #467)
  • Implement rbd image flattening
  • Implement rbd cloning from a snapshot
  • Implement cloning image from another image (combined with above 3 implementations)
  • Enable E2E testing for snapshot
  • Add E2E testing for smart cloning
@Madhu-1 Madhu-1 added the release-2.0.0 v2.0.0 release label Oct 9, 2019
@Madhu-1 Madhu-1 self-assigned this Oct 11, 2019
@zhucan
Copy link

zhucan commented Oct 17, 2019

@Madhu-1 I don't understand it that restore from snapshot not use “rbd rollback” but use "rbd clone" and the restore from snapshot not support flatten, why?

@Madhu-1
Copy link
Collaborator Author

Madhu-1 commented Oct 17, 2019

we will support flatten with the new implementation

@dillaman
Copy link

@Madhu-1 I don't understand it that restore from snapshot not use “rbd rollback” but use "rbd clone" and the restore from snapshot not support flatten, why?

@zhucan From the point-of-view of k8s, the "restore" operation is to just create a new PV from the snapshot. Therefore, you cannot just rollback (plus it's very inefficient).

@zhucan
Copy link

zhucan commented Oct 17, 2019

@dillaman Thanks, There is plan to do volume clone for ceph-csi?

@dillaman
Copy link

@zhucan Indeed -- I believe that's what this issue is tracking.

@zhucan
Copy link

zhucan commented Oct 17, 2019

@dillaman Thanks

@Madhu-1
Copy link
Collaborator Author

Madhu-1 commented Oct 22, 2019

I had a discussion with @dillaman since we are facing issue with the current approach. we are moving to a new implementation as detailed below

# CO create snapshot process
* create temporary RBD snapshot on source volume's RBD image
* RBD clone CO source volume's RBD image's snapshot to new RBD image
* remove temporary RBD snapshot on CO source volume's RBD image

# CO create volume from snapshot process
* serialize work on RBD snapshot image clone
* test RBD snapshot image clone's depth
* if depth over the hard limit (no soft-limit anymore), flatten clone
* create RBD snapshot on RBD snapshot image clone
* create RBD volume image clone from RBD snapshot image clone

# CO create volume from the volume process
* create RBD snapshot image as if running "CO create snapshot" process
* create RBD volume image as if running "CO create volume from snapshot" process

@Madhu-1 Madhu-1 added Release-2.1.0 and removed release-2.0.0 v2.0.0 release labels Jan 17, 2020
@Madhu-1
Copy link
Collaborator Author

Madhu-1 commented Jan 28, 2020

update snapshot from alpha to beta once we change the design for snapshot and cloning

@Madhu-1
Copy link
Collaborator Author

Madhu-1 commented Jul 20, 2020

This is fixed now closing this one

@Madhu-1 Madhu-1 closed this as completed Jul 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/rbd Issues related to RBD
Projects
None yet
4 participants