Fork Sync: Update from parent repository - #99
Merged
Merged
Conversation
kaovilai
added a commit
that referenced
this pull request
Aug 5, 2026
Closes the #99 "Restore from KDM CBT backup" gap, now unblocked by the overridden kubevirt-datamover-controller image (migtools/kubevirt-datamover- controller#124, DataDownload controller, issue #73 phase 3). Per docs/design/kubevirt-datamover.md and the plugin's own README, restore just needs a normal Velero Restore -- the VirtualMachine RestoreItemAction plugin creates the DataDownload CR automatically from backup-recorded annotations, and separately discards the restored VMB/VMBT so restore doesn't re-trigger a backup. No manual CR driving needed, mirroring how backup already works. Verifies success via the existing generic lib.CreateRestoreFromBackup/IsRestoreDone/IsRestoreCompletedSuccessfully helpers plus a new lib.GetDataDownloadForRestore (mirrors GetDataUploadForBackup) confirming the DataDownload itself reached status.phase=Completed -- proving the datamover path actually engaged, not just that the restore completed some other way. Extracted runKubevirtDMBackup (shared create+wait+verify-backup helper) out of runSequenceBackup to avoid duplicating that logic a second time for the restore test. Also scaffolds two ginkgo.PIt (real, compiling, not run) for gaps explicitly still open per kubevirt-datamover-controller#73's phased plan: multi-disk restore (phase 4, not yet hardened -- new cirros-test-multipvc-cbt.yaml template ready for when it lands) and restore from an incremental (not full) backup (phase 5, not yet e2e-validated upstream even though the chain-rebase logic may already support it internally). Not yet run against a real cluster. Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
kaovilai
added a commit
that referenced
this pull request
Aug 5, 2026
Closes the #99 "Restore from KDM CBT backup" gap, now unblocked by the overridden kubevirt-datamover-controller image (migtools/kubevirt-datamover- controller#124, DataDownload controller, issue #73 phase 3). Per docs/design/kubevirt-datamover.md and the plugin's own README, restore just needs a normal Velero Restore -- the VirtualMachine RestoreItemAction plugin creates the DataDownload CR automatically from backup-recorded annotations, and separately discards the restored VMB/VMBT so restore doesn't re-trigger a backup. No manual CR driving needed, mirroring how backup already works. Verifies success via the existing generic lib.CreateRestoreFromBackup/IsRestoreDone/IsRestoreCompletedSuccessfully helpers plus a new lib.GetDataDownloadForRestore (mirrors GetDataUploadForBackup) confirming the DataDownload itself reached status.phase=Completed -- proving the datamover path actually engaged, not just that the restore completed some other way. Extracted runKubevirtDMBackup (shared create+wait+verify-backup helper) out of runSequenceBackup to avoid duplicating that logic a second time for the restore test. Also scaffolds two ginkgo.PIt (real, compiling, not run) for gaps explicitly still open per kubevirt-datamover-controller#73's phased plan: multi-disk restore (phase 4, not yet hardened -- new cirros-test-multipvc-cbt.yaml template ready for when it lands) and restore from an incremental (not full) backup (phase 5, not yet e2e-validated upstream even though the chain-rebase logic may already support it internally). Not yet run against a real cluster. Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
kaovilai
added a commit
that referenced
this pull request
Aug 5, 2026
Closes the #99 "Restore from KDM CBT backup" gap, now unblocked by the overridden kubevirt-datamover-controller image (migtools/kubevirt-datamover- controller#124, DataDownload controller, issue #73 phase 3). Per docs/design/kubevirt-datamover.md and the plugin's own README, restore just needs a normal Velero Restore -- the VirtualMachine RestoreItemAction plugin creates the DataDownload CR automatically from backup-recorded annotations, and separately discards the restored VMB/VMBT so restore doesn't re-trigger a backup. No manual CR driving needed, mirroring how backup already works. Verifies success via the existing generic lib.CreateRestoreFromBackup/IsRestoreDone/IsRestoreCompletedSuccessfully helpers plus a new lib.GetDataDownloadForRestore (mirrors GetDataUploadForBackup) confirming the DataDownload itself reached status.phase=Completed -- proving the datamover path actually engaged, not just that the restore completed some other way. Extracted runKubevirtDMBackup (shared create+wait+verify-backup helper) out of runSequenceBackup to avoid duplicating that logic a second time for the restore test. Also scaffolds two ginkgo.PIt (real, compiling, not run) for gaps explicitly still open per kubevirt-datamover-controller#73's phased plan: multi-disk restore (phase 4, not yet hardened -- new cirros-test-multipvc-cbt.yaml template ready for when it lands) and restore from an incremental (not full) backup (phase 5, not yet e2e-validated upstream even though the chain-rebase logic may already support it internally). Not yet run against a real cluster. Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.