-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for block volumes #6680
Conversation
Codecov Report
@@ Coverage Diff @@
## main #6680 +/- ##
==========================================
- Coverage 60.78% 60.66% -0.13%
==========================================
Files 245 249 +4
Lines 26256 26464 +208
==========================================
+ Hits 15961 16055 +94
- Misses 9164 9266 +102
- Partials 1131 1143 +12
|
4bd0ec2
to
a360c82
Compare
I fixed the reported issues and rebased. |
Could you also add more UT? The coverage has dropped 0.2% |
I will work on increasing the coverage. |
38c619b
to
a0e6bff
Compare
I added more unit tests. |
CI Run failure seems unrelated: |
a0e6bff
to
cba5584
Compare
I rebased and squashed the commits. I will be on vacation next week so if there is anything else that needs to be done I can do that after the vacation or @draghuram can assign somebody else to continue while I am away. |
@dzaninovic / @draghuram - will this still support kopia's dedup? Or will each backup be full copies. |
@anshulahuja98, Kopia dedup will occur just like for regular files. As far as Kopia is concerned, the device is being presented as a file. |
what about dedup performance, should that also be same? Any idea? Since we are streaming device as file |
@anshulahuja98 Dedup happens at a layer below these changes. This means that everything else, from Kopia's perspective will be the same as a normal filesystem IIUC. |
That is correct. There should be no difference in behavior, including performance related, between devices and files. But it is possible to optimize device backup further (using direct IO etc) but I think we decided not to do those in this iteration. |
Got it, thanks for the inputs @shawn-hurley / @draghuram I am just further trying to see to confirm my understanding that we'll have to write another uploader in velero to interface with the CBT APIs/ interface and then upload them |
@anshulahuja98 Besides Kubernetes SIG's CBT mechanism, we may also integrate the block uploader with storage/computing platform APIs directly, which will be used to solve problems like CSI is unavailable or inefficient. |
got it, thanks for sharing this @Lyndon-Li |
cba5584
to
4aff462
Compare
I rebased, resolved conflicts and retested. On @sseago's request in the last Velero Community meeting I tested block PVC backup without the mover and PVC was skipped.
Code is only checking for mounted volumes but not for attached devices:
Do we want to try to support this code path in this pull request? |
@dzaninovic Oh, right, I'd forgotten about that. We actually had someone try to use fs backup for a block volume and hit that exact same error message (it didn't have the block mode support, since this was velero 1.11, so it still wouldn't have worked) -- but yes, if we can support the fs-backup code path, that would be great. I don't know whether the code you pasted above is the only thing needed to fix this, but it may be worth trying. I'd say that if you can get it working with fs-backup with minimal extra work, then feel free to do it here -- if it's a lot more work, then a follow-on PR for that later might be better. |
I don't have write access to the repository so somebody else will need to merge. |
@dzaninovic well done sir, thank you! |
@dzaninovic Waiting on @Lyndon-Li's final review on this PR. |
@dzaninovic Could you cherry-pick the merged commit into a PR against the release-1.12 branch? We also want to get this into 1.12.1. |
Signed-off-by: David Zaninovic <[email protected]> (cherry picked from commit 8e01d1b)
|
Signed-off-by: David Zaninovic <[email protected]> (cherry picked from commit 8e01d1b)
Signed-off-by: David Zaninovic <[email protected]> (cherry picked from commit 8e01d1b)
Signed-off-by: David Zaninovic <[email protected]> (cherry picked from commit 8e01d1b)
(cherry picked from commit 8e01d1b) Signed-off-by: David Zaninovic <[email protected]>
(cherry picked from commit 8e01d1b) Signed-off-by: David Zaninovic <[email protected]>
Signed-off-by: David Zaninovic <[email protected]>
Signed-off-by: David Zaninovic <[email protected]>
(cherry picked from commit 8e01d1b) Signed-off-by: David Zaninovic <[email protected]>
(cherry picked from commit 8e01d1b) Signed-off-by: David Zaninovic <[email protected]>
(cherry picked from commit 8e01d1b) Signed-off-by: David Zaninovic <[email protected]>
(cherry picked from commit 8e01d1b) Signed-off-by: David Zaninovic <[email protected]>
(cherry picked from commit 8e01d1b) Signed-off-by: David Zaninovic <[email protected]>
(cherry picked from commit 8e01d1b) Signed-off-by: David Zaninovic <[email protected]>
(cherry picked from commit 8e01d1b) Signed-off-by: David Zaninovic <[email protected]>
(cherry picked from commit 8e01d1b) Signed-off-by: David Zaninovic <[email protected]>
(cherry picked from commit 8e01d1b) Signed-off-by: David Zaninovic <[email protected]>
(cherry picked from commit 8e01d1b) Signed-off-by: David Zaninovic <[email protected]>
Thank you for contributing to Velero!
Please add a summary of your change
Add support for backup and restore of CSI block volumes with Kopia uploader.
Design: #6590
Interface change: #6608
Testing:
Does your change fix a particular issue?
Fixes #6548
Please indicate you've done the following:
/kind changelog-not-required
as a comment on this pull request.site/content/docs/main
.