diff --git a/config/crd/bases/replication.storage.openshift.io_volumegroupreplicationcontents.yaml b/config/crd/bases/replication.storage.openshift.io_volumegroupreplicationcontents.yaml index be67a9e33..d1f987308 100644 --- a/config/crd/bases/replication.storage.openshift.io_volumegroupreplicationcontents.yaml +++ b/config/crd/bases/replication.storage.openshift.io_volumegroupreplicationcontents.yaml @@ -52,9 +52,8 @@ spec: type: string source: description: |- - Source specifies whether the snapshot is (or should be) dynamically provisioned + Source specifies whether the volume is (or should be) dynamically provisioned or already exists, and just requires a Kubernetes object representation. - This field is immutable after creation. Required. properties: volumeHandles: @@ -147,7 +146,7 @@ spec: properties: persistentVolumeRefList: description: |- - PersistentVolumeRefList is the list of of PV for the group replication + PersistentVolumeRefList is the list of PV for the group replication The maximum number of allowed PV in the group is 100. items: description: |- diff --git a/config/crd/bases/replication.storage.openshift.io_volumegroupreplications.yaml b/config/crd/bases/replication.storage.openshift.io_volumegroupreplications.yaml index d111784b4..216d08ea0 100644 --- a/config/crd/bases/replication.storage.openshift.io_volumegroupreplications.yaml +++ b/config/crd/bases/replication.storage.openshift.io_volumegroupreplications.yaml @@ -131,11 +131,12 @@ spec: - message: volumeGroupReplicationContentName is immutable rule: self == oldSelf volumeReplicationClassName: - description: volumeReplicationClassName is the volumeReplicationClass - name for VolumeReplication object + description: |- + volumeReplicationClassName is the volumeReplicationClass name for the VolumeReplication object + created for this volumeGroupReplication type: string x-kubernetes-validations: - - message: volumReplicationClassName is immutable + - message: volumeReplicationClassName is immutable rule: self == oldSelf volumeReplicationName: description: Name of the VolumeReplication object created for this diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 8a89410e9..fd78105d0 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -46,6 +46,16 @@ rules: - list - patch - watch +- apiGroups: + - "" + resources: + - persistentvolumeclaims + - persistentvolumes + verbs: + - get + - list + - update + - watch - apiGroups: - "" resources: @@ -164,6 +174,13 @@ rules: - get - patch - update +- apiGroups: + - replication.storage.openshift.io + resources: + - volumegroupreplicationclasses + verbs: + - get + - list - apiGroups: - replication.storage.openshift.io resources: @@ -195,8 +212,6 @@ rules: resources: - volumegroupreplications verbs: - - create - - delete - get - list - patch @@ -229,6 +244,8 @@ rules: resources: - volumereplications verbs: + - create + - delete - get - list - update @@ -244,6 +261,8 @@ rules: resources: - volumereplications/status verbs: + - get + - list - update - apiGroups: - storage.k8s.io diff --git a/deploy/controller/crds.yaml b/deploy/controller/crds.yaml index 6d218de9f..e558c94ab 100644 --- a/deploy/controller/crds.yaml +++ b/deploy/controller/crds.yaml @@ -899,9 +899,8 @@ spec: type: string source: description: |- - Source specifies whether the snapshot is (or should be) dynamically provisioned + Source specifies whether the volume is (or should be) dynamically provisioned or already exists, and just requires a Kubernetes object representation. - This field is immutable after creation. Required. properties: volumeHandles: @@ -994,7 +993,7 @@ spec: properties: persistentVolumeRefList: description: |- - PersistentVolumeRefList is the list of of PV for the group replication + PersistentVolumeRefList is the list of PV for the group replication The maximum number of allowed PV in the group is 100. items: description: |- @@ -1154,11 +1153,12 @@ spec: - message: volumeGroupReplicationContentName is immutable rule: self == oldSelf volumeReplicationClassName: - description: volumeReplicationClassName is the volumeReplicationClass - name for VolumeReplication object + description: |- + volumeReplicationClassName is the volumeReplicationClass name for the VolumeReplication object + created for this volumeGroupReplication type: string x-kubernetes-validations: - - message: volumReplicationClassName is immutable + - message: volumeReplicationClassName is immutable rule: self == oldSelf volumeReplicationName: description: Name of the VolumeReplication object created for this diff --git a/deploy/controller/rbac.yaml b/deploy/controller/rbac.yaml index e380ba8dd..d207bdbb0 100644 --- a/deploy/controller/rbac.yaml +++ b/deploy/controller/rbac.yaml @@ -96,6 +96,16 @@ rules: - list - patch - watch +- apiGroups: + - "" + resources: + - persistentvolumeclaims + - persistentvolumes + verbs: + - get + - list + - update + - watch - apiGroups: - "" resources: @@ -214,6 +224,13 @@ rules: - get - patch - update +- apiGroups: + - replication.storage.openshift.io + resources: + - volumegroupreplicationclasses + verbs: + - get + - list - apiGroups: - replication.storage.openshift.io resources: @@ -245,8 +262,6 @@ rules: resources: - volumegroupreplications verbs: - - create - - delete - get - list - patch @@ -279,6 +294,8 @@ rules: resources: - volumereplications verbs: + - create + - delete - get - list - update @@ -294,6 +311,8 @@ rules: resources: - volumereplications/status verbs: + - get + - list - update - apiGroups: - storage.k8s.io