diff --git a/docs/volumegroupreplication.md b/docs/volumegroupreplication.md new file mode 100644 index 000000000..7020140ba --- /dev/null +++ b/docs/volumegroupreplication.md @@ -0,0 +1,60 @@ +# VolumeGroupReplication + +VolumeGroupReplication is a namespaced resource that contains references to storage object to be grouped and replicated, VolumeGroupReplicationClass corresponding to the driver providing replication, VolumeGroupReplicationContent and VolumeReplication CRs. + +`volumeGroupReplicationClassName` is the name of the class providing group replication. + +`volumeReplicationClassName` is the name of the class providing the replication for volumeReplication CR. + +`volumeReplicationName` is the name of the volumeReplication CR created by this volumeGroupReplication CR. + +`volumeGroupReplicationContentName` is the name of the volumeGroupReplicationContent CR created for this volumeGroupReplication CR. + +`replicationState` is the state of the volume group being referenced. Possible values are `primary`, `secondary` and `resync`. + +- `primary` denotes that the volume group is primary +- `secondary` denotes that the volume group is secondary +- `resync` denotes that the volume group needs to be resynced + +`source` contains the source of the volumeGroupReplication i.e, the selectors to match the PVC/PVs to be replicated. + +- `selector` is a label selector to filter the pvcs that are to be included in the group replication + +```yaml +apiVersion: replication.storage.openshift.io/v1alpha1 +kind: VolumeGroupReplication +metadata: + name: volumegroupreplication-sample + namespace: default +spec: + volumeReplicationClassName: volumereplicationclass-sample + volumeGroupReplicationClassName: volumegroupreplicationclass-sample + replicationState: primary + source: + selector: + matchLabels: + group: replication + autoResync: false +status: + persistentVolumeClaimsRefList: + - test-pvc + state: primary +``` + +Example PVC having matching labels: + +```yaml +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: test-pvc + labels: + appname: test +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: rook-ceph-block +``` diff --git a/docs/volumegroupreplicationcontent.md b/docs/volumegroupreplicationcontent.md new file mode 100644 index 000000000..7edb7686a --- /dev/null +++ b/docs/volumegroupreplicationcontent.md @@ -0,0 +1,33 @@ +# VolumeGroupReplicationContent + +VolumeGroupReplicationContent is a cluster scoped resource that contains volume grouping related information. + +`volumeGroupReplicationRef` contains object reference of the volumeGroupReplication resource that created this resource. + +`volumeGroupReplicationHandle` (optional) is an existing (but new) group replication ID. + +`volumeGroupReplicationClassName` is the name of the VolumeGroupReplicationClass that contains the driver related info +for volume grouping. + +`source` (optional) contains the VolumeGroupReplicationContentSource struct. + +- `VolumeHandles` is the list of volume handles that this resource is responsible for grouping. + +```yaml +apiVersion: replication.storage.openshift.io/v1alpha1 +kind: VolumeGroupReplicationContent +metadata: + name: volumegroupreplicationcontent-sample +spec: + volumeGroupReplicationRef: + kind: VolumeGroupReplication + name: volumegroupreplication-sample + namespace: default + volumeGroupReplicationClassName: volumegroupreplicationclass-sample + provisioner: example.provisioner.io + source: + volumeHandles: + - myPersistentVolumeHandle + - myPersistentVolumeHandle1 + - myPersistentVolumeHandle2 +``` diff --git a/docs/volumereplicationclass.md b/docs/volumereplicationclass.md index 10da62803..fc9420ce5 100644 --- a/docs/volumereplicationclass.md +++ b/docs/volumereplicationclass.md @@ -1,6 +1,6 @@ # VolumeReplicationClass -`VolumeReplicationClass` is a cluster scoped resource that contains driver related configuration parameters. +VolumeReplicationClass is a cluster scoped resource that contains driver related configuration parameters. `provisioner` is name of the storage provisioner.