Adam Zhang
0af087c19a
Merge pull request #9908 from adam-jian-zhang/cache-ns-filter-lookup
...
caching the call for GetNamespaceFilter
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com >
2026-07-16 10:45:56 +08:00
Adam Zhang
837c085ea4
Merge pull request #9880 from adam-jian-zhang/backup-filters-core
...
implemented fine-grained backup filter policies
Signed-off-by: Adam Zhang <adam.zhang@broadcom.com >
2026-07-16 10:45:56 +08:00
Xun Jiang/Bruce Jiang and GitHub
25402b6209
[1.18] Deprecate inactive maintained packages ( #9912 )
...
Run the E2E test on kind / get-go-version (push) Successful in 59s
Run the E2E test on kind / setup-test-matrix (push) Successful in 4s
Main CI / get-go-version (push) Successful in 14s
Run the E2E test on kind / build (push) Failing after 1m48s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / Build (push) Failing after 25s
* Replace github.com/robfig/cron/v3 by github.com/netresearch/go-cron
Replace k8s.io/utils/pointer with k8s.io/utils/ptr
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
* Replace gopkg.in/yaml.v3 by go.yaml.in/yaml/v3
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
* Replace github.com/joho/godotenv.
Move the needed code into Velero repository.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
* 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 >
---------
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com >
2026-07-10 11:20:34 +08:00
Shubham Pampattiwar
a5e3c25fc9
Fix excluded namespace objects leaking into backup with cross-namespace listing
...
When getNamespacesToList returns "" (cross-namespace listing), resources
from all namespaces are listed. The nsTracker.track call for each
resource's namespace would inadvertently track excluded namespaces,
causing their namespace objects to pass through filterNamespaces.
Add a ShouldInclude check before tracking a namespace from non-namespace
resources to ensure excluded namespaces are not tracked.
Add test case for includedNamespaces ["*"] with excludedNamespaces to
verify both the namespace object exclusion and resource exclusion.
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
2026-06-10 10:04:14 -07:00
Shubham Pampattiwar
ea1f23f3f6
Fix backup performance regression with includedNamespaces ["*"]
...
Commit 8ac8f49b5 ("Remove wildcard check from getNamespacesToList")
removed the optimization that prevented "*" from being expanded to
individual namespace names. This caused getNamespacesToList to return
all namespace names instead of "" (cross-namespace listing), resulting
in N separate API list calls per resource type instead of 1.
On clusters with many namespaces (e.g. 178 on an ACM cluster), this
means ~35,000 API calls instead of ~200, causing backups to take
18-20 minutes for just 8 items.
Restore the "*" special case in ShouldExpandWildcards so that plain
"*" is not expanded, and restore the ShouldInclude("*") check in
getNamespacesToList so that cross-namespace listing is used.
The restore fix from 8ac8f49b5 (fromBackup flag) is preserved since
restores already return false before reaching the "*" check.
Namespace exclusion continues to work correctly: the nsTracker filters
excluded namespace objects via ShouldInclude, and backupItem filters
namespace-scoped resources at line 124 of item_backupper.go.
Fixes #9869
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
2026-06-10 10:04:14 -07:00
Xun Jiang and Xun Jiang/Bruce Jiang
8ac8f49b5c
Remove wildcard check from getNamespacesToList.
...
Expand wildcard in namespace filter only for backup scenario.
Restore doesn't need that now, because restore has logic to rely on
IncludeEverything function to check whether cluster-scoped resources
should be restored. Expand wildcard will break the logic.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
2026-04-08 08:12:21 +08:00
Scott Seago
aedc0fe5e2
make update, changelog
...
Signed-off-by: Scott Seago <sseago@redhat.com >
2025-12-02 16:39:07 -05:00
Scott Seago
91357b28c4
Move worker pool creation to backup reconcile.
...
ItemBlockWorkerPool is now created for each backup.
Signed-off-by: Scott Seago <sseago@redhat.com >
2025-12-02 16:38:41 -05:00
Scott Seago
5fc76db8c0
Add incrementalSize to DU/PVB for reporting new/changed size
...
Signed-off-by: Scott Seago <sseago@redhat.com >
2025-10-27 15:38:31 -04:00
0xLeo258
1ebe357d18
Add built-in mutex for SynchronizedVSList && Update unit tests
...
Signed-off-by: 0xLeo258 <noixe0312@gmail.com >
2025-09-20 09:13:07 +08:00
Lyndon-Li
34f8b73507
bump up kopia to v0.21.1
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2025-07-22 15:56:04 +08:00
Matthieu MOREL
07ea14962c
fix require-error rule from testifylint
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2025-06-23 15:39:54 +00:00
Xun Jiang and Xun Jiang/Bruce Jiang
2d71430e80
Skip namespace in terminating state in backup resource collection.
...
To make sure resources in terminating namespaces are not included.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
2025-05-29 10:32:32 +08:00
Matthieu MOREL and GitHub
c6a420bd3a
chore: define common aliases for k8s packages ( #8672 )
...
Run the E2E test on kind / build (push) Failing after 6m48s
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / Build (push) Failing after 35s
Close stale issues and PRs / stale (push) Successful in 8s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 1m11s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-aws, main) (push) Failing after 47s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-gcp, main) (push) Failing after 49s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-microsoft-azure, main) (push) Failing after 43s
* lchore: define common alias for k8s packages
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
* Update .golangci.yaml
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
* Update .golangci.yaml
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
* Update .golangci.yaml
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
---------
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2025-04-22 06:14:47 -04:00
Wenkai Yin(尹文开)
7aa8040c09
Run backup post hooks inside ItemBlock synchronously
...
Run backup post hooks inside ItemBlock synchronously as the ItemBlocks are handled asynchronously
Fixes #8516
Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com >
2025-02-17 13:27:41 +08:00
Wenkai Yin(尹文开) and GitHub
e3a64065f1
Merge pull request #8659 from sseago/parallel-itemblocks
...
Implement parallel ItemBlock processing via backup_controller goroutines
2025-02-14 10:42:14 +08:00
Scott Seago
fcfb2fd9ee
Implement parallel ItemBlock processing via backup_controller goroutines
...
Signed-off-by: Scott Seago <sseago@redhat.com >
2025-02-12 12:03:37 -05:00
Wenkai Yin(尹文开)
cdcd6eb99d
Fix WaitGroup panic issue
...
Make sure WaitGroup.Add() is called before WaitGroup.Done() to avoid WaitGroup panic issue
Fixes #8657
Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com >
2025-02-12 13:56:05 +08:00
Matthieu MOREL
cbba3bdde7
chore: enable use-any from revive
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2025-01-17 07:58:10 +01:00
Wenkai Yin(尹文开)
1f39943291
Check the PVB status via podvolume Backupper rather than calling API server to avoid API server issue
...
Check the PVB status via podvolume Backupper rather than calling API server to avoid API server issue
Fixes #8587
Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com >
2025-01-13 12:56:26 +08:00
Wenkai Yin(尹文开)
14e71fa2cd
Bug fix: increase the WaitGroup counter before start the goroutine
...
Bug fix: increase the WaitGroup counter before start the goroutine
Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com >
2024-12-23 17:26:36 +08:00
Wenkai Yin(尹文开)
c43fc42c25
Fix backup post hook issue
...
Fix backup post hook issue
Fixes #8159
Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com >
2024-12-13 12:25:45 +08:00
Tiger Kaovilai and GitHub
04d6c79179
Merge pull request #8471 from vmware-tanzu/8440_fix_main
...
Run the E2E test on kind / build (push) Failing after 6m42s
Run the E2E test on kind / setup-test-matrix (push) Successful in 4s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / Build (push) Failing after 1m9s
[main] Add nil check for updating DataUpload VolumeInfo in finalizing phase
2024-12-05 01:17:19 -05:00
Scott Seago
015b1e69f6
Make BackedUpItems thread safe
...
Signed-off-by: Scott Seago <sseago@redhat.com >
2024-12-03 15:23:45 -05:00
Xun Jiang
226370d035
Add nil check for updating DataUpload VolumeInfo in finalizing phase.
...
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
2024-12-03 10:50:55 +08:00
Scott Seago
9d6f4d2db5
ItemBlock model and phase 1 (single-thread) workflow changes
...
Signed-off-by: Scott Seago <sseago@redhat.com >
2024-09-03 19:04:18 -04:00
lyndon-li and GitHub
2b018272e6
fix linter check error ( #8014 )
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2024-07-15 09:48:10 -04:00
Scott Seago
dc286a38fc
Reuse existing plugin manager for get/put volume info
...
Signed-off-by: Scott Seago <sseago@redhat.com >
2024-07-12 10:15:16 -04:00
Xun Jiang
df28134e25
Add result in backup VolumeInfo.
...
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com >
2024-07-02 00:20:36 +08:00
Xun Jiang/Bruce Jiang and GitHub
d9c9f77860
Merge pull request #7671 from mmorel-35/testifylint/compare
...
testifylint: enable compares rule
2024-05-27 12:45:16 +08:00
Xun Jiang
a91d2cb036
Modify the volume helper logic.
...
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com >
2024-05-23 09:57:21 +08:00
Matthieu MOREL
1010b04821
testifylint: enable compares rule
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2024-05-16 20:18:43 +00:00
Xun Jiang
884bcbec98
Fix the typecheck error reported by the lint GitHub action.
...
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com >
2024-04-19 18:41:16 +08:00
Xun Jiang
2eeaf4d55e
Modify namespace filter logic for backup with label selector.
...
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com >
2024-04-18 10:30:59 +08:00
Daniel Jiang
0a280e5786
Track and persist restore volume info
...
Signed-off-by: Daniel Jiang <jiangd@vmware.com >
2024-04-11 17:32:18 +08:00
Xun Jiang/Bruce Jiang and GitHub
8df4e6aded
Merge branch 'main' into merge_csi
...
Signed-off-by: Xun Jiang/Bruce Jiang <59276555+blackpiglet@users.noreply.github.com >
2024-04-10 18:54:16 +08:00
clonefetch and GitHub
474dc824e7
chore: fix function names in comment ( #7633 )
...
Signed-off-by: clonefetch <c0217@outlook.com >
2024-04-10 15:15:29 +05:30
Xun Jiang
31e140919a
Merge CSI plugin code.
...
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com >
2024-04-10 14:53:29 +08:00
Xun Jiang/Bruce Jiang and GitHub
75962653c5
Merge pull request #7554 from blackpiglet/7357_fix
...
Support update the backup VolumeInfos by the Async ops result.
2024-04-01 11:05:33 +08:00
Xun Jiang
5462035469
Delete the unneeded pvRestorer action in
...
handleSkippedPVHasRetainPolicy
According to comment, calling executePVAction aims to reset PV's
claimRef, but the reset logic was moved into resetVolumeBindingInfo
since release-1.4.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com >
2024-03-29 14:12:12 +08:00
Wenkai Yin(尹文开)
8d10b68eda
Improve the concurrency for PVBs in different pods
...
Improve the concurrency for PVBs in different pods
Fixes #6676
Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com >
2024-03-29 09:58:50 +08:00
Xun Jiang
b06d7a467f
Support update the backup VolumeInfos by the Async ops result.
...
1. Add PutBackupVolumeInfos method.
2. Add CompletionTimestamp in VolumeInfo.
3. Add Size in SnapshotDataMovementInfo.
4. Update CompletionTimpstmap, SnapshotHandle, RetainedSnapshot
and Size in VolumeInfo on DataUpload Operation completes.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com >
2024-03-28 19:52:44 +08:00
Matthieu MOREL
ef04ef6361
golangci-lint: use exclude-rules instead of skip-files and skip-dirs
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2024-03-27 20:17:34 +00:00
Xun Jiang
efb94ae610
Refactor the native snapshot definition code.
...
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com >
2024-03-20 15:38:07 +08:00
Wenkai Yin(尹文开)
8752c3a820
Bump up the versions of severel Kubernetes-related libs
...
Bump up the versions of severel Kubernetes-related libs
Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com >
2024-03-05 13:09:38 +08:00
Xun Jiang
c77bec73bb
Move VolumesInformation to an independant package.
...
Signed-off-by: Xun Jiang <jxun@vmware.com >
2023-12-04 08:33:37 +08:00
Xun Jiang
ca97248f2a
Use VolumeInfo to help restore the PV.
...
Add VolumeInfo for left PVs during backup.
Signed-off-by: Xun Jiang <jxun@vmware.com >
2023-12-04 08:33:37 +08:00
Daniel Jiang
b759877f5b
Track the skipped PV when SnapshotVolumes set as false
...
This commit makes sure if a PV is not taken snapshot b/c the flag
SnapshotVolumes is set to false in a backup CR, the PV is also also
tracked as skipped in the tracker.
Signed-off-by: Daniel Jiang <jiangd@vmware.com >
2023-11-28 22:52:17 +08:00
Xun Jiang
7f52321772
Generate VolumeInfo.
...
Remove CSI VolumeSnapshot listter and the informer.
Add download the VolumeInfos metadata for backup.
Signed-off-by: Xun Jiang <jxun@vmware.com >
2023-11-22 09:40:38 +08:00
Xun Jiang
908e2c63ba
Check whether the action is a CSI action and whether CSI feature is
...
enabled, before executing the action.
The DeleteItemAction is not checked, because the DIA doesn't have a
method to get the action's plugin name.
This should be OK, because the CSI will check whether the VS and VSC
have a backup name annotation. If the VS and VSC is not handled by
the CSI plugin, then they don't have the annotation.
Signed-off-by: Xun Jiang <jxun@vmware.com >
2023-10-24 16:54:38 +08:00