lyndon-li
df07c39014
Merge pull request #9368 from shubham-pampattiwar/fix-volume-info-generatename
...
Run the E2E test on kind / get-go-version (push) Failing after 1m21s
Run the E2E test on kind / build (push) Has been skipped
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 / get-go-version (push) Failing after 15s
Main CI / Build (push) Has been skipped
Close stale issues and PRs / stale (push) Successful in 11s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 3m52s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-aws, main) (push) Failing after 1m6s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-gcp, main) (push) Failing after 57s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-microsoft-azure, main) (push) Failing after 1m4s
Track actual resource names for GenerateName in restore status
2025-11-10 14:48:15 +08:00
lyndon-li
d1e5d6b13a
Merge pull request #9367 from shubham-pampattiwar/fix-managed-fields-generatename
...
Fix managed fields patch for resources using GenerateName
2025-11-10 13:50:42 +08:00
Scott Seago
bd7d28f004
don't copy securitycontext from first container if configmap found
...
Signed-off-by: Scott Seago <sseago@redhat.com >
2025-11-04 16:56:35 -05:00
Shubham Pampattiwar
c2840f1c74
Fix tests: populate createdName for all created resources
...
Update test expectations to include createdName field for resources
with action 'created'. Also ensure namespaces track their created
names when created via EnsureNamespaceExistsAndIsReady.
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
2025-10-27 12:44:31 -07:00
Shubham Pampattiwar
07f30d06b9
Track actual resource names for GenerateName in restore status
...
When restoring resources with GenerateName, Kubernetes assigns the actual name
after creation, but Velero only tracked the original name from the backup in
itemKey. This caused volume information collection to fail when trying to fetch
PVCs using the original name instead of the actual created name.
Example:
- Original PVC name from backup: "test-vm-disk-1"
- Actual created PVC name: "test-vm-backup-2025-10-27-test-vm-disk-1-mdjkd"
- Volume info tried to fetch: "test-vm-disk-1" → Failed with "not found"
This affects any plugin or workflow using GenerateName during restore:
- kubevirt-velero-plugin (VMFR use case with PVC collision avoidance)
- Custom restore item actions using generateName
- Secrets/ConfigMaps restored with generateName
Changes:
1. Add createdName field to restoredItemStatus struct (pkg/restore/request.go)
2. Capture actual name from createdObj.GetName() (pkg/restore/restore.go:1520)
3. Use createdName in RestoredResourceList() when available (pkg/restore/request.go:93-95)
This fix is backwards compatible:
- createdName defaults to empty string
- When empty, falls back to itemKey.name (original behavior)
- Only populated for GenerateName resources where needed
Fixes volume information collection errors like:
"Failed to get PVC" error="persistentvolumeclaims \"<original-name>\" not found"
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
2025-10-27 12:04:46 -07:00
Shubham Pampattiwar
898fa13ed7
Fix managed fields patch for resources using GenerateName
...
When restoring resources with GenerateName (where name is empty and K8s
assigns the actual name), the managed fields patch was failing with error
"name is required" because it was using obj.GetName() which returns empty
for GenerateName resources.
The fix uses createdObj.GetName() instead, which contains the actual name
assigned by Kubernetes after resource creation.
This affects any resource using GenerateName for restore, including:
- PersistentVolumeClaims restored by kubevirt-velero-plugin
- Secrets and ConfigMaps created with generateName
- Any custom resources using generateName
Changes:
- Line 1707: Use createdObj.GetName() instead of obj.GetName() in Patch call
- Lines 1702, 1709, 1713, 1716: Use createdObj in error/info messages for accuracy
This is a backwards-compatible fix since:
- For resources WITHOUT generateName: obj.GetName() == createdObj.GetName()
- For resources WITH generateName: createdObj.GetName() has the actual name
The managed fields patch was already correctly using createdObj (lines 1698-1700),
only the Patch() call was incorrectly using obj.
Fixes restore status showing FinalizingPartiallyFailed with "name is required"
error when restoring resources with GenerateName.
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
2025-10-27 11:57:55 -07:00
Lyndon-Li
6dbe772590
snapshot size in restore CRs only
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2025-10-22 12:41:41 +08:00
Lyndon-Li
166f50d776
add snapshot size to data mover CRs
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2025-10-21 15:14:38 +08:00
Lyndon-Li
7e15e9ba05
deprecate pvc node selection
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2025-09-17 15:09:54 +08:00
Amos Mastbaum
687dcf69e7
csi pvc backup action
...
Signed-off-by: Amos Mastbaum <68001528+amastbau@users.noreply.github.com >
Update pvc_action.go
Signed-off-by: Amos Mastbaum <68001528+amastbau@users.noreply.github.com >
Update pvc_action.go
Signed-off-by: Amos Mastbaum <68001528+amastbau@users.noreply.github.com >
Adding missing test covarage + log mesasgae as suggested
Signed-off-by: Amos Mastbaum <68001528+amastbau@users.noreply.github.com >
Adding missing test covarage + log mesasgae as suggested
Signed-off-by: Amos Mastbaum <68001528+amastbau@users.noreply.github.com >
2025-07-28 14:57:02 +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
Shubham Pampattiwar
a73a150d98
Accommodate VGS workflows in PVC CSI plugin
...
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
Add changelog file
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
make update
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
lint fix
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
add unit tests for getVSForPVC func
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
Use v1beta1 instead of v1 v1alpha1
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
go mod tidy
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
update updateVGSCreatedVS func to use retry on conflict
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
make update minor fix
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
fix ut assert
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
Address PR feedback
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
minor updates
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
remove unsused func and add todo for dep upgrades
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
2025-07-21 11:36:40 -07:00
lyndon-li
fd8c95baf8
Issue 9053: remove selected-node annotation during PVC restore ( #9076 )
...
issue 9053: remove selected-node annotation during PVC restore
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2025-07-21 12:33:07 +08:00
Tiger Kaovilai
2b787f5d3d
PVR action to remove restore-wait init container on restore ( #8880 )
...
This PR fixes issue #8870 where Velero was unnecessarily adding the restore-wait init container when restoring pods with volumes that were backed up using native datamover or CSI.
When restoring pods with volumes, Velero was always adding the restore-wait init container, even when the volumes were backed up using native datamover or CSI and didn't need file system restores. This was causing unnecessary overhead and potential issues.
PVR action to remove restore-wait init container on restore
Changes:
- Remove ALL existing restore-wait init containers before deciding whether to add a new one
- This covers both scenarios: when no file system restore is needed AND when preventing duplicates
- Simplify the add logic since we've already cleaned up existing containers
- Add better logging to show how many containers were removed
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com >
2025-07-21 11:03:42 +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
Matthieu MOREL
3024e6223e
fix equal-values rule from testifylint
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2025-06-22 22:41:08 +02:00
Matthieu MOREL
59825a0506
fix len rule from testifylint
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2025-06-22 22:41:08 +02:00
Xun Jiang/Bruce Jiang
d5a2e7e6b9
Add VolumeSnapshotContent into the RIA and the mustHave resource list. ( #8924 )
...
Run the E2E test on kind / build (push) Failing after 6m26s
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 32s
Close stale issues and PRs / stale (push) Successful in 9s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 2m6s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-aws, main) (push) Failing after 44s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-gcp, main) (push) Failing after 52s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-microsoft-azure, main) (push) Failing after 50s
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
2025-05-12 16:08:45 +08:00
Scott Seago
6b630f73d8
For not found errors on managed fields, add restore warning
...
Signed-off-by: Scott Seago <sseago@redhat.com >
2025-05-02 15:07:09 -04:00
Matthieu MOREL
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
Xun Jiang
1652e6b27f
Modify how the restore workflow using the resource name.
...
The restore workflow used name represents the backup resource and the
restore to be restored, but the restored resource name may be different
from the backup one, e.g. PV and VSC are global resources, to avoid
conflict, need to rename them.
Reanme the name variable to backupResourceName, and use obj.GetName()
for restore operation.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
2025-03-20 18:42:09 +08:00
Shubham Pampattiwar
6337c52cfb
Merge pull request #8755 from sseago/csi-pvc-annotations
...
Run the E2E test on kind / build (push) Failing after 12m44s
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 42s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 1m11s
Trivy Nightly Scan / Trivy nightly scan (velero-restore-helper, main) (push) Failing after 57s
Move pvc annotation removal from CSI RIA to regular PVC RIA
2025-03-11 10:45:58 -07:00
Scott Seago
fe14a2c934
Move pvc annotation removal from CSI RIA to regular PVC RIA
...
Combine existing PVC non-CSI RIAs and move annotation
removal out of the CSI plugin to fix issues with
CSI volumes when using fs-backup
Signed-off-by: Scott Seago <sseago@redhat.com >
2025-03-05 15:55:55 -05:00
Matthieu MOREL
6a6a237ba7
Bump golangci-lint from v1.57.2 to v1.64.5 ( #8641 )
...
Run the E2E test on kind / build (push) Failing after 5m43s
Run the E2E test on kind / setup-test-matrix (push) Successful in 2s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
build-image / Build (push) Failing after 8s
Main CI / Build (push) Failing after 33s
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2025-03-04 13:55:29 +05:30
Xun Jiang/Bruce Jiang
f79b825cf1
Merge pull request #8684 from blackpiglet/7979_fix
...
7979 fix
2025-02-25 13:27:01 +08:00
Xun Jiang
6b7dd12bf7
Modify VS and VSC restore actions.
...
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com >
2025-02-25 10:44:45 +08:00
Scott Seago
21db5f8853
Copy SecurityContext from Containers[0] if present for PVR
...
Signed-off-by: Scott Seago <sseago@redhat.com >
2025-02-24 15:23:29 -05:00
Wenkai Yin(尹文开)
e446d92d4c
Merge pull request #8464 from shubham-pampattiwar/obj-status-restore-impl
...
Run the E2E test on kind / build (push) Failing after 5m28s
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 7s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 56s
Trivy Nightly Scan / Trivy nightly scan (velero-restore-helper, main) (push) Failing after 50s
Allowing Object-Level Resource Status Restore
2025-02-13 13:37:58 +08:00
Shubham Pampattiwar
893621c1ad
Allowing Object-Level Resource Status Restore
...
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
add changelog
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
Update impl according to design
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
make update
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
update logging
Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com >
2025-02-12 18:59:25 -08:00
Xun Jiang/Bruce Jiang
10a5b7b702
Merge pull request #8624 from mmorel-35/revive/use-any
...
chore: enable use-any from revive
2025-02-07 15:09:05 +08:00
Lyndon-Li
de170043ea
rename cancel function
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2025-02-06 10:58:04 +08:00
Lyndon-Li
5fd9df3e2c
refactor pod volume context
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2025-02-05 16:16:44 +08:00
Wenkai Yin(尹文开)
9afad9a2db
Merge pull request #8630 from ywk253100/250116_update
...
Run the E2E test on kind / build (push) Failing after 5m31s
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 9s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 54s
Trivy Nightly Scan / Trivy nightly scan (velero-restore-helper, main) (push) Failing after 52s
Handle update conflict when restoring the status
2025-01-23 13:16:46 +08:00
Matthieu MOREL
1e54f1cb15
chore: enable var-declaration from revive ( #8636 )
...
Run the E2E test on kind / build (push) Failing after 5m28s
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 33s
Close stale issues and PRs / stale (push) Successful in 8s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 52s
Trivy Nightly Scan / Trivy nightly scan (velero-restore-helper, main) (push) Failing after 56s
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2025-01-22 15:56:44 -05:00
Wenkai Yin(尹文开)
f0efe2aaa1
Handle update conflict when restoring the status
...
Handle update conflict when restoring the status
Fixes #8184
Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com >
2025-01-21 13:06:24 +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
Scott Seago
d090d0ad44
Always create DataUpload configmap in restore namespace
...
Signed-off-by: Scott Seago <sseago@redhat.com >
2025-01-15 16:30:13 -05:00
Tiger Kaovilai
fb7cf9e4ba
Merge pull request #8598 from mmorel-35/partially-fix-dupword
...
fix: dupword on tests
2025-01-13 13:37:28 +07:00
Matthieu MOREL
29a77958d5
fix: dupword on tests
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2025-01-10 11:44:06 +01:00
Lyndon-Li
a8469126d8
data mover restore for Windows
...
Signed-off-by: Lyndon-Li <lyonghui@vmware.com >
2025-01-10 08:58:32 +00:00
Wenkai Yin(尹文开)
eb5230e12f
Merge restore helper image into Velero server image
...
Merge restore helper image into Velero server image
Fixes #8484
Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com >
2025-01-03 14:12:23 +08:00
Daniel Jiang
4b7f93189d
Add SecurityContext to restore-helper
...
This commit adds SecurityContext that complies with "restricted" level
per Pod Security Standards to "restore-helper" initContainer.
It ensures the restore won't fail when the cluster enforces PSA.
Signed-off-by: Daniel Jiang <daniel.jiang@broadcom.com >
2024-12-06 17:30:41 +08:00
sangitaray2021
74790d9f60
Added tracking for deleted namespace status check in restore flow ( #8233 )
...
* Added tracking for deleted namespace status check in restore flow
Signed-off-by: sangitaray2021 <sangitaray@microsoft.com >
fixed unittest
Signed-off-by: sangitaray2021 <sangitaray@microsoft.com >
refactored tracker execution and caller
Signed-off-by: sangitaray2021 <sangitaray@microsoft.com >
added change log
Signed-off-by: sangitaray2021 <sangitaray@microsoft.com >
Author: sangitaray2021 <sangitaray@microsft.com >
Author: sangitaray2021 <sangitaray@microsoft.com >
Date: Thu Sep 19 02:26:14 2024 +0530
Signed-off-by: sangitaray2021 <sangitaray@microsoft.com >
* fixed linter issuer
Signed-off-by: sangitaray2021 <sangitaray@microsoft.com >
* incorporated PR comments
Signed-off-by: sangitaray2021 <sangitaray@microsoft.com >
* resolved comments
Signed-off-by: sangitaray2021 <sangitaray@microsoft.com >
---------
Signed-off-by: sangitaray2021 <sangitaray@microsoft.com >
2024-11-18 13:41:07 +05:30
Matthieu MOREL
226a4c1138
golangci-lint: enable and fix thelper linter
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2024-10-17 08:12:57 +02:00
Tiger Kaovilai
3f9c2dc789
Reduces ~140 indirect imports for plugin/framework importers ( #8208 )
...
* Avoid plugin framework importers from needing cloud provider imports
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com >
2024-09-13 10:21:51 +08:00
Shubham Pampattiwar
da291467d7
Merge pull request #8199 from AlbeeSo/fix/use-new-gr
...
use newGR instead of groupResource after apiversion convert
2024-09-12 10:20:39 -07:00
AlbeeSo
c2192a75aa
typo
...
Signed-off-by: AlbeeSo <suyashi1321@163.com >
2024-09-10 17:48:43 +08:00
AlbeeSo
02ac1069fe
use newGR instead of groupResource if plugin has modified the group
...
Signed-off-by: AlbeeSo <suyashi1321@163.com >
2024-09-10 14:33:36 +08:00
Daniel Jiang
7439db57b3
Merge pull request #8166 from ywk253100/240705_plugin_args
...
Pass Velero server command args to the plugins
2024-09-06 14:29:42 +08:00
Wenkai Yin(尹文开)
dc6eeafe98
Pass Velero server command args to the plugins
...
Pass Velero server command args to the plugins
Fixes #7806
Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com >
2024-09-04 13:43:27 +08:00