You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: keps/sig-storage/3476-volume-group-snapshot/README.md
+7-42Lines changed: 7 additions & 42 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,7 +82,7 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
82
82
-[x] (R) Production readiness review completed
83
83
-[x] Production readiness review approved
84
84
-[x] "Implementation History" section is up-to-date for milestone
85
-
-[] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
85
+
-[x] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
86
86
-[ ] Supporting documentation e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
87
87
88
88
<!--
@@ -137,10 +137,10 @@ Note: In the following, we will use VolumeGroupSnapshot Controller to refer to t
137
137
* The group snapshot logic in csi-snapshotter will retrieve all volumeSnapshotHandles and their source volumeHandles in the Volume Group Snapshot from the CSI CreateVolumeGroupSnapshotResponse, and populate the VolumeSnapshotHandlePairList field in the VolumeGroupSnapshotContent status.
138
138
* The VolumeGroupSnapshot controller will be watching the VolumeGroupSnapshotContent, and create VolumeSnapshotContents pointing to the volumeSnapshotHandles once they are available in the VolumeGroupSnapshotContent status. Then the controller will create VolumeSnapshots pointing to the VolumeSnapshotContents.
139
139
* CreateVolumeGroupSnapshot CSI function response
140
-
* The CreateVolumeGroupSnapshot CSI function should return a list of snapshots (Snapshot message defined in CSI Spec) in its response. The group snapshot logic in the csi-snapshotter sidecar will update the VolumeSnapshotHandlePairList field in the VolumeGroupSnapshotContent status based on the returned list of snapshots from the CSI call. The VolumeGroupSnapshot controller can use VolumeSnapshotHandles to construct corresponding individual VolumeSnapshotContents and VolumeSnapshots, wait for VolumeSnapshots and VolumeSnapshotContents to be bound, and update PVCVolumeSnapshotRefList in the VolumeGroupSnapshot Status and PVVolumeSnapshotContentList in the VolumeGroupSnapshotContent Status.
140
+
* The CreateVolumeGroupSnapshot CSI function should return a list of snapshots (Snapshot message defined in CSI Spec) in its response. The group snapshot logic in the csi-snapshotter sidecar will update the VolumeSnapshotHandlePairList field in the VolumeGroupSnapshotContent status based on the returned list of snapshots from the CSI call. The VolumeGroupSnapshot controller can use VolumeSnapshotHandles to construct corresponding individual VolumeSnapshotContents and VolumeSnapshots, wait for VolumeSnapshots and VolumeSnapshotContents to be bound.
141
141
* Individual VolumeSnapshots will be named in this format:
142
-
* <snap>-<hash of VolumeGroupSnapshot UUID+PVC UUID+timestamp>
143
-
*A label with VolumeGroupSnapshot name will also be added to the VolumeSnapshot
142
+
* <snap>-<hash of VolumeGroupSnapshotContent UUID + volume handle>
143
+
* VolumeGroupSnapshot will also be added as an OwnerReference for the VolumeSnapshot
144
144
145
145
```
146
146
apiVersion: snapshot.storage.k8s.io/v1
@@ -165,6 +165,8 @@ Admin can create a VolumeGroupSnapshotContent, specifying an existing VolumeGrou
165
165
166
166
The controller will call the CSI GetVolumeGroupSnapshot method to retrieve all volumeSnapshotHandles in the Volume Group Snapshot from the storage system, create VolumeSnapshotContents pointing to the volumeSnapshotHandles. Then the controller will create VolumeSnapshots pointing to the VolumeSnapshotContents.
167
167
168
+
Note: The automatic creation of individual VolumeSnapshots and VolumeSnapshotContents are not done in Beta. For now, the admin will need to manually construct these individual API objects. We plan to work on this before the feature moves to GA.
169
+
168
170
### Delete VolumeGroupSnapshot
169
171
170
172
A VolumeGroupSnapshot can be deleted if the CSI driver supports the CREATE_DELETE_GET_VOLUME_GROUP_SNAPSHOT capability.
@@ -373,21 +375,6 @@ Type VolumeGroupSnapshotStatus struct {
373
375
374
376
// +optional
375
377
Error *VolumeSnapshotError
376
-
377
-
// VolumeSnapshotRefList is the list of PVC and VolumeSnapshot pairs that
378
-
// is part of this group snapshot.
379
-
// The maximum number of allowed snapshots in the group is 100.
380
-
// +optional
381
-
PVCVolumeSnapshotRefList []PVCVolumeSnapshotPair
382
-
}
383
-
384
-
// PVCVolumeSnapshotPair defines a pair of a PVC reference and a Volume Snapshot Reference
385
-
type PVCVolumeSnapshotPair struct {
386
-
// PersistentVolumeClaimRef is a reference to the PVC this pair is referring to
0 commit comments