Skip to content

Commit

Permalink
Merge pull request rook#14891 from black-dragon74/rbd-vgs-docs-revert
Browse files Browse the repository at this point in the history
Revert "docs: add documentation for rbd volumegroupsnapshot"
  • Loading branch information
subhamkrai authored Oct 23, 2024
2 parents 615086c + b040a02 commit f8a8206
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 126 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,97 +23,12 @@ In short, as the documentation describes it:
Created by cluster administrators to describe how volume group snapshots
should be created. including the driver information, the deletion policy, etc.

## RBD Volume Group Snapshots

### RBD VolumeGroupSnapshotClass

In [VolumeGroupSnapshotClass](https://github.com/rook/rook/tree/master/deploy/examples/csi/rbd/groupsnapshotclass.yaml),
the `csi.storage.k8s.io/group-snapshotter-secret-name` parameter references the
name of the secret created for the rbd-plugin and `pool` to reflect the Ceph pool name.

In the `VolumeGroupSnapshotClass`, update the value of the `clusterID` field to match the namespace
that Rook is running in. When Ceph CSI is deployed by Rook, the operator will automatically
maintain a configmap whose contents will match this key. By default this is
"rook-ceph".

```console
kubectl create -f deploy/examples/csi/rbd/groupsnapshotclass.yaml
```

### RBD VolumeGroupSnapshot

In [VolumeGroupSnapshot](https://github.com/rook/rook/tree/master/deploy/examples/csi/rbd/groupsnapshot.yaml),
`volumeGroupSnapshotClassName` is the name of the `VolumeGroupSnapshotClass`
previously created. The labels inside `matchLabels` must be present on the
PVCs that are already created by the RBD CSI driver.

```console
kubectl create -f deploy/examples/csi/rbd/groupsnapshot.yaml
```

### Verify RBD GroupSnapshot Creation

```console
$ kubectl get volumegroupsnapshotclass
NAME DRIVER DELETIONPOLICY AGE
csi-rbdplugin-groupsnapclass rook-ceph.rbd.csi.ceph.com Delete 21m
```

```console
$ kubectl get volumegroupsnapshot
NAME READYTOUSE VOLUMEGROUPSNAPSHOTCLASS VOLUMEGROUPSNAPSHOTCONTENT CREATIONTIME AGE
rbd-groupsnapshot true csi-rbdplugin-groupsnapclass groupsnapcontent-d13f4d95-8822-4729-9586-4f222a3f788e 5m37s 5m39s
```

The snapshot will be ready to restore to a new PVC when `READYTOUSE` field of the
`volumegroupsnapshot` is set to true.

### Restore the RBD volume group snapshot to a new PVC

Find the name of the snapshots created by the `VolumeGroupSnapshot` first by running:

```console
$ kubectl get volumegroupsnapshot/rbd-groupsnapshot -o=jsonpath='{range .status.pvcVolumeSnapshotRefList[*]}PVC: {.persistentVolumeClaimRef.name}, Snapshot: {.volumeSnapshotRef.name}{"\n"}{end}'
PVC: rbd-pvc, Snapshot: snapshot-9d21b143904c10f49ddc92664a7e8fe93c23387d0a88549c14337484ebaf1011-2024-09-12-3.49.13
```

It will list the PVC's name followed by its snapshot name.

In
[pvc-restore](https://github.com/rook/rook/tree/master/deploy/examples/csi/rbd/pvc-restore.yaml),
`dataSource` is one of the `Snapshot` that we just
found. The `dataSource` kind must be the `VolumeSnapshot`.

Create a new PVC from the snapshot

```console
kubectl create -f deploy/examples/csi/rbd/pvc-restore.yaml
```

### Verify RBD Restore PVC Creation

```console
$ kubectl get pvc
rbd-pvc Bound pvc-9ae60bf9-4931-4f9a-9de1-7f45f31fe4da 1Gi RWO rook-cephfs <unset> 171m
rbd-pvc-restore Bound pvc-b4b73cbb-5061-48c7-9ac8-e1202508cf97 1Gi RWO rook-cephfs <unset> 46s
```

### RBD volume group snapshot resource Cleanup

To clean the resources created by this example, run the following:

```console
kubectl delete -f deploy/examples/csi/rbd/pvc-restore.yaml
kubectl delete -f deploy/examples/csi/rbd/groupsnapshot.yaml
kubectl delete -f deploy/examples/csi/rbd/groupsnapshotclass.yaml
```

## CephFS Volume Group Snapshots
## Volume Group Snapshots

### CephFS VolumeGroupSnapshotClass

In [VolumeGroupSnapshotClass](https://github.com/rook/rook/tree/master/deploy/examples/csi/cephfs/groupsnapshotclass.yaml),
the `csi.storage.k8s.io/group-snapshotter-secret-name` parameter references the
the `csi.storage.k8s.io/group-snapshotter-secret-name` parameter should reference the
name of the secret created for the cephfs-plugin.

In the `VolumeGroupSnapshotClass`, update the value of the `clusterID` field to match the namespace
Expand All @@ -128,8 +43,8 @@ kubectl create -f deploy/examples/csi/cephfs/groupsnapshotclass.yaml
### CephFS VolumeGroupSnapshot

In [VolumeGroupSnapshot](https://github.com/rook/rook/tree/master/deploy/examples/csi/cephfs/groupsnapshot.yaml),
`volumeGroupSnapshotClassName` is the name of the `VolumeGroupSnapshotClass`
previously created. The labels inside `matchLabels` must be present on the
`volumeGroupSnapshotClassName` should be the name of the `VolumeGroupSnapshotClass`
previously created. The labels inside `matchLabels` should be present on the
PVCs that are already created by the CephFS CSI driver.

```console
Expand Down Expand Up @@ -166,8 +81,8 @@ It will list the PVC's name followed by its snapshot name.

In
[pvc-restore](https://github.com/rook/rook/tree/master/deploy/examples/csi/cephfs/pvc-restore.yaml),
`dataSource` is one of the `Snapshot` that we just
found. The `dataSource` kind must be the `VolumeSnapshot`.
`dataSource` should be one of the `Snapshot` that we just
found. The `dataSource` kind should be the `VolumeSnapshot`.

Create a new PVC from the snapshot

Expand All @@ -183,7 +98,7 @@ cephfs-pvc Bound pvc-9ae60bf9-4931-4f9a-9de1-7f45f31fe4da 1Gi
cephfs-pvc-restore Bound pvc-b4b73cbb-5061-48c7-9ac8-e1202508cf97 1Gi RWO rook-cephfs <unset> 46s
```

### CephFS volume group snapshot resource Cleanup
## CephFS volume group snapshot resource Cleanup

To clean the resources created by this example, run the following:

Expand Down
2 changes: 0 additions & 2 deletions deploy/examples/csi/cephfs/pvc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: cephfs-pvc
# Use this with the example `groupsnapshotclass.yaml`.
# Not needed if the volume group snapshots are not required.
labels:
group: snapshot-test
spec:
Expand Down
13 changes: 0 additions & 13 deletions deploy/examples/csi/rbd/groupsnapshot.yaml

This file was deleted.

15 changes: 0 additions & 15 deletions deploy/examples/csi/rbd/groupsnapshotclass.yaml

This file was deleted.

4 changes: 0 additions & 4 deletions deploy/examples/csi/rbd/pvc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@ apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: rbd-pvc
# Use this with the example `groupsnapshotclass.yaml`.
# Not needed if the volume group snapshots are not required.
labels:
group: snapshot-test
spec:
accessModes:
- ReadWriteOnce
Expand Down

0 comments on commit f8a8206

Please sign in to comment.