Skip to content

Commit 77c5933

Browse files
authored
Merge pull request #5935 from carlbraganza/kep-3314-crd-install
Updated KEP-3314 with install instructions for the SnapshotMetadataService CRD
2 parents b87f851 + b057bac commit 77c5933

1 file changed

Lines changed: 18 additions & 11 deletions

File tree

  • keps/sig-storage/3314-csi-changed-block-tracking

keps/sig-storage/3314-csi-changed-block-tracking/README.md

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -985,8 +985,8 @@ gRPC service provided by the
985985
[external-snapshot-metadata sidecar](#the-external-snapshot-metadata-sidecar)
986986
deployed by a CSI driver.
987987

988-
The CR name should be that of the associated CSI driver to ensure that only one such
989-
CR is created for a given driver.
988+
Instances of the CR are created by a CSI driver installer and named for the
989+
associated CSI driver, to ensure that only one such CR is created for a given driver.
990990

991991
The CR `spec` contains the following fields:
992992

@@ -1002,7 +1002,11 @@ The CR `spec` contains the following fields:
10021002
presented to the [sidecar](#the-external-snapshot-metadata-sidecar) by a Kubernetes client.
10031003
The value should be unique to the service if possible; for example, it could be the DNS name of the service.
10041004

1005-
The full Custom Resource Definition is shown below:
1005+
The `SnapshotMetadataService` Custom Resource Definition should be installed either by the Kubernetes
1006+
distribution or by the cluster administrator.
1007+
The specification of this CRD at the time of publication of this KEP is shown below;
1008+
see [cbt.storage.k8s.io_snapshotmetadataservices.yaml](https://github.com/kubernetes-csi/external-snapshot-metadata/blob/3a139dd44d4ffa01343a91bed40996b1db56fd38/client/config/crd/cbt.storage.k8s.io_snapshotmetadataservices.yaml)
1009+
in the source code repository for the latest copy.
10061010

10071011
```yaml
10081012
apiVersion: apiextensions.k8s.io/v1
@@ -1022,7 +1026,7 @@ spec:
10221026
singular: snapshotmetadataservice
10231027
scope: Cluster
10241028
versions:
1025-
- name: v1alpha1
1029+
- name: v1beta1
10261030
schema:
10271031
openAPIV3Schema:
10281032
description: 'The presence of a SnapshotMetadataService CR advertises the existence of a CSI
@@ -1512,16 +1516,19 @@ rollout. Similarly, consider large clusters and how enablement/disablement
15121516
will rollout across nodes.
15131517
-->
15141518

1515-
The CSI driver installs the `SnapshotMetadataService` CRD.
1516-
Since the `SnapshotMetadataService` CRD is shared between CSI drivers, a
1517-
CSI driver should fail if it finds a pre-existing CRD with an incompatible
1518-
version and surface the error to the cluster administrator to resolve.
1519+
The [SnapshotMetadataService CRD](https://github.com/kubernetes-csi/external-snapshot-metadata/blob/3a139dd44d4ffa01343a91bed40996b1db56fd38/client/config/crd/cbt.storage.k8s.io_snapshotmetadataservices.yaml)
1520+
should be installed either by the Kubernetes distribution or by the cluster administrator.
1521+
This CRD applies to all the installed CSI drivers that support this feature.
1522+
1523+
A CSI driver creates an instance of the `SnapshotMetadataService` CR
1524+
and deploys the `external-snapshot-metadata` sidecar.
1525+
The CSI driver may fail to install or may skip the configuration of this feature
1526+
if it finds that the installed `SnapshotMetadataService` CRD has an incompatible
1527+
version; it must surface the error for the cluster administrator to resolve
1528+
in either circumstance.
15191529

1520-
The CSI driver creates an instance
1521-
of this CR, and deploys the `external-snapshot-metadata` sidecar.
15221530
Each CSI driver vendor independently must explicitly handle failure to construct
15231531
these objects during rollout or rollback if their driver fails.
1524-
15251532
Any rollback will cause active operations by a backup application to fail.
15261533
Such failure is similar to a network failure that the backup client application ought to be
15271534
capable of handling gracefully.

0 commit comments

Comments
 (0)