-
Notifications
You must be signed in to change notification settings - Fork 1.2k
NAS backup provider: Support restore from NAS backup to Ceph storage pool(s) #11684
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
base: main
Are you sure you want to change the base?
NAS backup provider: Support restore from NAS backup to Ceph storage pool(s) #11684
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #11684 +/- ##
============================================
- Coverage 17.39% 17.39% -0.01%
Complexity 15283 15283
============================================
Files 5889 5889
Lines 526183 526287 +104
Branches 64242 64254 +12
============================================
Hits 91541 91541
- Misses 424298 424401 +103
- Partials 10344 10345 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
c0c17c5
to
fbd982d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR enhances the NAS backup provider to support restoring from NAS backups to Ceph (RBD) storage pools. The implementation adds new functionality to handle both file-based and RBD volume restoration using different approaches.
- Adds RBD storage pool support to volume restoration from NAS backups
- Implements qemu-img based conversion for RBD volumes instead of simple file copy
- Adds XML-based disk attachment for RBD volumes to running VMs
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
File | Description |
---|---|
QemuImg.java | Adds skipTargetVolumeCreation flag to support qemu-img -n option for RBD conversion |
LibvirtRestoreBackupCommandWrapper.java | Core restoration logic with RBD-specific handling and XML generation |
NASBackupProvider.java | Updates volume path handling to support different storage pool types including RBD |
RestoreBackupCommand.java | Adds restoreVolumePools field to pass storage pool information |
BackupManager.java | Documentation update to list valid backup provider plugins |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
.../main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java
Outdated
Show resolved
Hide resolved
.../main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java
Show resolved
Hide resolved
.../main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java
Show resolved
Hide resolved
.../main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java
Show resolved
Hide resolved
plugins/backup/nas/src/main/java/org/apache/cloudstack/backup/NASBackupProvider.java
Outdated
Show resolved
Hide resolved
fbd982d
to
2c0473d
Compare
@blueorangutan package |
@sureshanaparti a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Packaging result [SF]: ✖️ el8 ✖️ el9 ✖️ debian ✖️ suse15. SL-JID 15098 |
@blueorangutan package |
@sureshanaparti a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 15112 |
@blueorangutan test |
@DaanHoogland a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
[SF] Trillian test result (tid-14411)
|
Description
This PR adds support to restore from NAS backup to Ceph storage pool(s).
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
Created an instance with ROOT and DATA disks on Ceph storage pool, taken NAS backup to NFS NAS backup repo and the restored the NAS backed-up disks back to the instance (both disks to Ceph storage pool); and restore & attach backed up volume (on Ceph) to a new instance.
How did you try to break this feature and the system with this change?