Conversation
Signed-off-by: Lyndon-Li <[email protected]>
21bb3c6 to
7f51017
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9528 +/- ##
==========================================
+ Coverage 60.54% 60.64% +0.10%
==========================================
Files 386 387 +1
Lines 36370 36518 +148
==========================================
+ Hits 22020 22148 +128
- Misses 12770 12782 +12
- Partials 1580 1588 +8 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
6da6e2e to
5e50b9c
Compare
ad77963 to
be777ed
Compare
kaovilai
left a comment
There was a problem hiding this comment.
The current code deletes the VolumeSnapshot and VolumeSnapshotContent Kubernetes objects but retains the underlying storage snapshot. This means:
- The CSI snapshot handle is only stored in DataUpload.Status.SnapshotID
- There's no VolumeSnapshotContent object in the cluster pointing to the retained snapshot
- To use it as base_snapshot_id for CBT, the next backup needs to retrieve this handle from the Kopia repository metadata
- If incrementalBackup5, 4, 3, 2, 1 all the way to the original initial full backup is deleted, will velero recreate VolumeSnapshotContent from each base_snapshot_id with RetentionPolicy: Delete, in order to trigger deletion in the underlying storage?
This is NOT true for either the existing file system data mover and the new block data mover. Both the VS/VSC and the underlying storage snapshot will be deleted after backup.
If SnapshotID contains the ChangeID (this is the fact for many storages), then the answer is NO, as you see in the design doc, the ChangeID is also saved in the backup repository.
As mentioned above, the backend storage snapshot is deleted at the first place when the backup completes. |
847fa0f to
4763ed4
Compare
|
@shubham-pampattiwar @kaovilai |
4763ed4 to
a8eaf9a
Compare
Have you tested if you delete backend storage snapshot when backup completes if My understanding is GetMetadataDelta(base_snapshot_id, target_snapshot_id) needs both CSI snapshot IDs to be valid at the storage backend. The CSI driver must be able to compute the block-level diff between them. If the base snapshot has been deleted from the storage backend, this call fails. |
ec44edc to
2506428
Compare
Signed-off-by: Lyndon-Li <[email protected]>
2506428 to
a230929
Compare
That varies from storages. I have added a section about Volume Snapshot Retention in the design. But I don't think implementing the snapshot retention is a high priority, let's discuss it tomorrow. |
Signed-off-by: Lyndon-Li <[email protected]>
c372a91 to
81029d6
Compare
6a9af12 to
397e328
Compare
Signed-off-by: Lyndon-Li <[email protected]>
397e328 to
3218944
Compare
Add block data mover design for block level incremental backup by integrating with Kubernetes CBT