Commit Graph
45 Commits
Author SHA1 Message Date
lyndon-liandGitHub 87b45ed7fd Merge pull request #10506 from Lyndon-Li/save-source-size-to-backup
Save source size to volume info
2026-09-10 14:29:48 +08:00
Lyndon-Li d0884e7ce7 return source size from uploader
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-09-04 19:45:12 +08:00
Lyndon-Li df709d39d6 report incremental fallback message
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-09-04 17:21:57 +08:00
Lyndon-Li 67923bca6f uploader report incremental fallback
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-09-04 14:17:28 +08:00
b7d83a6f2b Cherry pick the in-place restore implementation PRs from feature branch to main (#10415)
* Update CRDs and CLI to support in-place restore (#10038)

Update CRDs(Restore, DataDownload, PodVolumeRestore) and restore create CLI to support in-place restore

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

* Update Kopia(filesystem) uploader to support incremental and deleteExtraFile during restore (#10066)

Update Kopia(filesystem) uploader to support incremental and deleteExtraFile during restore

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

* Update Restore Exposer and PVC CSI to support in-place restore (#10104)

1. Update Restore Exposer to support exposing with existing PV for in-place restore
2. Update PVC CSI RIA to continue the restore process for in-place restore

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

* Update Block uploader to support increase restore (#10244)

Update Block uploader to support increase restore

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

* Update Exposer to recreate the target PV if the volume mode is different with the restore PVC (#10257)

Update Exposer to recreate the target PV if the volume mode is different with t
he restore PVC

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

* Preserve PVC selected-node annotation via carrier annotation for in-place restore

For in-place volume data restore, the existing PVC is deleted and
recreated. For StorageClasses with the WaitForFirstConsumer volume
binding mode, losing the volume.kubernetes.io/selected-node annotation
could let the scheduler place the recreated workload Pod in a different
zone than the original PV, leaving it stuck in ContainerCreating.

Instead of relying on RestoreItemAction execution order (the generic
PVC RIA unconditionally strips the selected-node annotation), the PVC
CSI RIA now captures the annotation from the existing PVC right before
deleting it and carries it on the target PVC via the Velero-internal
restore.velero.io/inplace-restore-selected-node annotation. The restore
engine translates the carrier back to the Kubernetes annotation after
all RestoreItemActions have run and always strips the carrier so it
never lands on the cluster.

This makes the behavior independent of RIA ordering: the Kubernetes
annotation is stripped by default on every path (including when the
target PVC does not exist and Velero falls back to provisioning a new
PVC), and preservation only happens when the CSI RIA explicitly
captured a value from the existing PVC.

Signed-off-by: chlins <chlins.zhang@gmail.com>

* Update the control path to make the in-place incremental restore with block data mover work E2E (#10410)

Update the control path to make the in-place incremental restore with block data mover work E2E

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>

---------

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
Signed-off-by: chlins <chlins.zhang@gmail.com>
Co-authored-by: chlins <chlins.zhang@gmail.com>
2026-08-26 10:21:32 -04:00
Xun Jiang 49b670a791 Replace github.com/pkg/errors by github.com/cockroachdb/errors
Change errors.Cause to errors.Is, because github.com/cockroachdb/errors
New() function create a error with error stack with depth 1, but
github.com/pkg/errors's New() function create error with no depth.

Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2026-06-10 15:55:57 +08:00
Lyndon-Li 9cada8fc11 issue 9460: flush buffer when uploader completes
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-03-02 11:43:44 +08:00
Lyndon-Li 89c5182c3c flush volume after restore
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2026-01-26 13:17:44 +08:00
Lyndon-Li 060b3364f2 uploader flush buffer for restore
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2025-12-29 18:19:23 +08:00
Lyndon-Li d2a25cd446 fs uploader skip system folders on windows
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2025-01-02 11:30:40 +08:00
Ming Qiu 3d5282e12b Fix snapshot leak for backup
Signed-off-by: Ming Qiu <ming.qiu@broadcom.com>
2024-04-01 03:02:24 +00:00
qiumingandGitHub 365423d220 Merge pull request #7512 from qiuming-best/support-parallel-restore
Make parallel restore configurable
2024-03-25 10:49:40 +08:00
Ming Qiu 64a3f2aa3a Make parallel restore configurable
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2024-03-19 15:15:47 +08:00
Ming Qiu 74ffa50bb4 Fix DataDownload fails during restore for empty PVC workload
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2024-03-14 07:22:59 +00:00
Lyndon-Li 24c4eb075f issue 7211: support concatenate objects
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2024-02-21 17:34:04 +08:00
Lyndon-Li 60d2c62c1a issue 7244: delete incomplete snapshot automatically for kopia uploader
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-12-22 16:44:00 +08:00
Ming Qiu 1a237d3e4c Update API
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-12-06 08:59:12 +00:00
Ming Qiu 0afaa70e9b Merge branch 'main' of https://github.com/qiuming-best/velero into support-restore-sparse 2023-11-30 10:55:55 +00:00
Ming Qiu b57dde1572 Allow sparse option for Kopia & Restic restore
Signed-off-by: Ming Qiu <mqiu@vmware.com>
2023-11-28 13:48:09 +00:00
Ming Qiu fea22bbbc9 Merge branch 'main' of https://github.com/qiuming-best/velero into kopia-parallelism 2023-11-22 01:42:39 +00:00
Lyndon-Li 50f8acda79 issue 7094: fallback to full backup if previous snapshot is not found
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-11-14 11:28:09 +08:00
Ming 481cb60493 Make Kopia file parallelism configurable
Signed-off-by: Ming <mqiu@vmware.com>
2023-10-26 02:28:36 +00:00
David ZaninovicandGitHub 8e01d1b9be Add support for block volumes (#6680)
Signed-off-by: David Zaninovic <dzaninovic@catalogicsoftware.com>
2023-09-28 09:44:46 -04:00
Lyndon-Li 3e3ffec7cd issue 6880: set ParallelUploadAboveSize as MaxInt64
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-28 12:34:30 +08:00
Lyndon-Li 9895428765 fix issue 6748
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-08 09:14:30 +08:00
Lyndon-Li d13a23364f fix issue 6748
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-09-05 19:29:28 +08:00
qiumingandGitHub f26ec9043a Fix kopia snapshot policy not work (#6739)
Signed-off-by: Ming <mqiu@vmware.com>
2023-09-01 16:21:43 +08:00
Shawn Hurley 563a16c10f adding block mode to uploader/provider interfaces
Signed-off-by: Shawn Hurley <shawn@hurley.page>
2023-08-15 15:33:23 -04:00
Tiger Kaovilai 05722876b9 Moving kopia logging to remove kopia from indirect dependency in velero plugins
when running `go mod why -m github.com/kopia/kopia` in velero-plugins prior to this change you will see following

```
❯ go mod why -m github.com/kopia/kopia
github.com/konveyor/openshift-velero-plugin/velero-plugins
github.com/vmware-tanzu/velero/pkg/plugin/framework
github.com/vmware-tanzu/velero/pkg/util/logging
github.com/kopia/kopia/repo/logging
```

after
```
❯ go mod why -m github.com/kopia/kopia
(main module does not need module github.com/kopia/kopia)
```

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2023-07-12 10:44:33 -04:00
Ming e2bb5b3fe8 Add UT for pkg/discovery
Signed-off-by: Ming <mqiu@vmware.com>
2023-06-15 02:45:34 +00:00
qiumingandGitHub 78025a09b6 Add UT for uploader (#6374)
Signed-off-by: Ming <mqiu@vmware.com>
2023-06-13 16:58:47 +08:00
Lyndon-Li f781e255c6 data mover smoke testing
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-06-12 15:30:06 +08:00
Lyndon-Li 6c16020a3e fix pvr issue for generic data path
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-23 15:20:13 +08:00
Lyndon-Li 5f008d18fa Merge branch 'main' into data-mover-generic-data-path 2023-05-17 10:15:52 +08:00
Lyndon-Li 307b82a2ec bump up kopia v0.13.0
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-15 07:23:38 +08:00
Lyndon-Li 623da51494 add shared generic data path
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2023-05-12 12:01:59 +08:00
Xun Jiang/Bruce JiangandGitHub a8a17d725a Merge pull request #6194 from blackpiglet/linter_more
Enable more linters, and remove mal-functioned milestoned issue action.
2023-04-26 14:12:47 +08:00
Xun Jiang 443f732e51 Enable more linters, and remove mal-functioned milestoned issue action.
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-25 23:31:51 +08:00
Xun Jiang 180cc4e31d Enable linter revive and resolve found errors: part 1
Signed-off-by: Xun Jiang <blackpiglet@gmail.com>
2023-04-25 23:15:15 +08:00
杨刚 (成都)andGitHub ad9c6e8dee delete io/ioutil package. (#5955)
Signed-off-by: yanggang <gang.yang@daocloud.io>
2023-03-16 09:25:58 +08:00
Ming 0fd5af3300 Set Kopia IgnoreUnknownTypes in ErrorHandlingPolicy to True for ignoring backup unknown file type
Signed-off-by: Ming <mqiu@vmware.com>
2023-02-07 08:30:58 +00:00
Lyndon-Li a90ba3db7c kopia pvbr smoking test changes
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
2022-09-07 13:22:49 +08:00
Ming eb974687a7 merge upstream code
Signed-off-by: Ming <mqiu@vmware.com>
2022-09-02 01:45:12 +00:00
Ming 2bf054ad0b update upstream codes
Signed-off-by: Ming <mqiu@vmware.com>
2022-08-22 09:20:47 +00:00
Ming 262de19f52 Uploader Implementation: Kopia backup and restore
Signed-off-by: Ming <mqiu@vmware.com>
2022-08-19 06:39:28 +00:00