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

doc: Update documentation for volume clone #14190

Merged
merged 1 commit into from May 16, 2024
Merged

Conversation

yati1998
Copy link
Contributor

After cross-storageclass clone/restore, now we can clone across different storageclass.
This commit updates the documentation indicating
the same.

@yati1998 yati1998 requested review from travisn and Madhu-1 May 13, 2024 04:33
@yati1998 yati1998 force-pushed the cross-storage branch 2 times, most recently from 3c18878 to aac9b7d Compare May 13, 2024 05:37
CSI driver. The `dataSource` kind should be the `PersistentVolumeClaim` and also storageclass
should be same as the source `PVC`.
CSI driver. The `dataSource` kind should be the `PersistentVolumeClaim`.
The `storageClassName` can be any storageclass (not necessarily same as Parent PVC) with the
Copy link
Member

Choose a reason for hiding this comment

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

!!! note

Copy link
Member

Choose a reason for hiding this comment

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

The storageClassName can be any RBD storageclass (not necessarily same as Parent PVC) with the

Copy link
Member

Choose a reason for hiding this comment

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

can we make this section as a note?

The `storageClassName` can be any storageclass (not necessarily same as Parent PVC) with the
following conditions:

* `provisinor` should be same for both the Parent PVC and the Clone PVC.
Copy link
Member

Choose a reason for hiding this comment

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

does clone doesnt work cross operator? LIke in a DR operation where there maybe two rook operator?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In the case of 2 different rook operators, the provisioner name will be different too right? hence it won't work for that case

Copy link
Member

Choose a reason for hiding this comment

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

so we can say clone doesn't work cross-cluster....

following conditions:

* `provisinor` should be same for both the Parent PVC and the Clone PVC.
* The non-encrypted PVC cannot be cloned to an encrypted one and vise-versa.
Copy link
Member

Choose a reason for hiding this comment

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

can we have a high level chart,

encrypted -> encrypted possible
encrypted -> non-encrypted not possible
and soo on....

CSI driver. The `dataSource` kind should be the `PersistentVolumeClaim`.
The `storageClassName` can be any RBD storageclass (not necessarily same as Parent PVC)

!!!note
Copy link
Member

Choose a reason for hiding this comment

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

The notes are usually just short unformatted paragraphs. If using bullets, let's not use the "!!! note". How about this?

Suggested change
!!!note
Please note:

The `storageClassName` can be any RBD storageclass (not necessarily same as Parent PVC)

!!!note
* `provisinor` should be same for both the Parent PVC and the Clone PVC.
Copy link
Member

Choose a reason for hiding this comment

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

What if the provisioner is not the same? Is there a scenario for that? If not, let's use "must" instead of "should"

Suggested change
* `provisinor` should be same for both the Parent PVC and the Clone PVC.
* `provisioner` must be same for both the Parent PVC and the Clone PVC.


!!!note
* `provisinor` should be same for both the Parent PVC and the Clone PVC.
* The non-encrypted PVC cannot be cloned to an encrypted one and vise-versa.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* The non-encrypted PVC cannot be cloned to an encrypted one and vise-versa.
* The non-encrypted PVC cannot be cloned to an encrypted one and vice-versa.

The `storageClassName` can be any CephFS storageclass (not necessarily same as Parent PVC)

!!!note
* `provisinor` should be same for both the Parent PVC and the Clone PVC.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* `provisinor` should be same for both the Parent PVC and the Clone PVC.
* `provisioner` must be the same for both the Parent PVC and the Clone PVC.

CSI driver. The `dataSource` kind should be the `PersistentVolumeClaim`.
The `storageClassName` can be any CephFS storageclass (not necessarily same as Parent PVC)

!!!note
Copy link
Member

Choose a reason for hiding this comment

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

same as above


!!!note
* `provisinor` should be same for both the Parent PVC and the Clone PVC.
* The non-encrypted PVC cannot be cloned to an encrypted one and vise-versa.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* The non-encrypted PVC cannot be cloned to an encrypted one and vise-versa.
* The non-encrypted PVC cannot be cloned to an encrypted one and vice-versa.

The `storageClassName` can be any RBD storageclass (not necessarily same as Parent PVC)

Please note:
* `provisinor` must be the same for both the Parent PVC and the Clone PVC.
Copy link
Member

Choose a reason for hiding this comment

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

typo?

Suggested change
* `provisinor` must be the same for both the Parent PVC and the Clone PVC.
* `provisioner` must be the same for both the Parent PVC and the Clone PVC.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oops, thanks for the catch

Copy link
Member

@parth-gr parth-gr left a comment

Choose a reason for hiding this comment

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

lgtm

Comment on lines 26 to 29
* encrypted -> encrypted (possible)
* non-encrypted -> non-encrypted (possible)
* encrypted -> non-encrypted (not possible)
* non-encrypted -> encryptes (not possible)
Copy link
Member

Choose a reason for hiding this comment

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

encryptes to encrypted

* encrypted -> encrypted (possible)
* non-encrypted -> non-encrypted (possible)
* encrypted -> non-encrypted (not possible)
* non-encrypted -> encryptes (not possible)
Copy link
Member

Choose a reason for hiding this comment

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

encryptes to encrypted

@yati1998
Copy link
Contributor Author

/retest Linters

@yati1998
Copy link
Contributor Author

@Madhu-1 can you please review the PR again. I have updated the same for PVC-restore.


Please Note:
* `provisioner` must be the same for both the Parent PVC and the Clone PVC.
* The non-encrypted PVC cannot be cloned to an encrypted one and vice-versa.
Copy link
Member

Choose a reason for hiding this comment

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

cannot be cloned to cannot be restored

@@ -143,7 +152,16 @@ The snapshot will be ready to restore to a new PVC when `READYTOUSE` field of th
In
[pvc-restore](https://github.com/rook/rook/tree/master/deploy/examples/csi/cephfs/pvc-restore.yaml),
`dataSource` should be the name of the `VolumeSnapshot` previously
created. The `dataSource` kind should be the `VolumeSnapshot`.
created. The `dataSource` kind should be the `VolumeSnapshot`. The `storageClassName` can be
Copy link
Member

Choose a reason for hiding this comment

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

This is not applicable to cephfs as of today as we don't support cephfs encryption yet.

@@ -55,8 +63,16 @@ kubectl delete -f deploy/examples/csi/rbd/pvc-clone.yaml

In [pvc-clone](https://github.com/rook/rook/tree/master/deploy/examples/csi/cephfs/pvc-clone.yaml),
`dataSource` should be the name of the `PVC` which is already created by CephFS
CSI driver. The `dataSource` kind should be the `PersistentVolumeClaim` and also storageclass
should be same as the source `PVC`.
CSI driver. The `dataSource` kind should be the `PersistentVolumeClaim`.
Copy link
Member

Choose a reason for hiding this comment

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

Lets not update cephfs section as nothing is tested or support yet.

@yati1998 yati1998 force-pushed the cross-storage branch 2 times, most recently from dc9572f to 05ecc8b Compare May 16, 2024 07:46
after cross-storageclass clone/restore, now we can
clone across different storageclass.
this commit updates the documentation indicating
the same.

Signed-off-by: yati1998 <ypadia@redhat.com>
@travisn travisn merged commit 9f3d76c into rook:master May 16, 2024
19 checks passed
travisn added a commit that referenced this pull request May 16, 2024
doc: Update documentation for volume clone (backport #14190)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants