-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Add support to RBD erasure code pools #9808
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 to RBD erasure code pools #9808
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #9808 +/- ##
============================================
- Coverage 16.18% 16.18% -0.01%
+ Complexity 13046 13045 -1
============================================
Files 5645 5646 +1
Lines 494795 494841 +46
Branches 59955 59963 +8
============================================
+ Hits 80065 80069 +4
- Misses 405897 405937 +40
- Partials 8833 8835 +2
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:
|
|
@blueorangutan package |
|
@BryanMLima 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 11365 |
...ns/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
Outdated
Show resolved
Hide resolved
DaanHoogland
left a comment
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.
clgtm, but needs testing
JoaoJandre
left a comment
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.
LGTM, did not test it. Only left a small nitpick
...ns/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
Outdated
Show resolved
Hide resolved
JoaoJandre
left a comment
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.
LGTM, did not test it
|
This pull request has merge conflicts. Dear author, please fix the conflicts and sync your branch with the base branch. |
…l is of erasure code type. Also added javadoc for createPhysicalDisk method
cea613c to
fce6e14
Compare
|
@blueorangutan package |
|
@BryanMLima 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 12174 |
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.
Tested for both replicated and erasure coded pools:
- VM deployment
- VM deletion
- Snapshot creation
- Reversion to snapshot
- Template creation from snapshot
- VM deployment based on template created from snapshot
- Volume creation from snapshot
- Attachment of root disk created from snapshot
- Data disk attachment with VM running and stopped
- Volume resize
- Volume migration
- To/from local storage
- To/from NFS
- To/from another RBD pool
- Of volumes that have snapshots on primary (the snapshots get deleted)
- Live migration
|
@DaanHoogland @sureshanaparti @JoaoJandre, I think we can merge this one, right? |
|
@blueorangutan package |
@BryanMLima For formality's sake, we should run the CI still |
|
@JoaoJandre 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. |
|
@blueorangutan test |
|
@DaanHoogland a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 12848 |
|
@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-12807)
|
|
@blueorangutan package |
|
@JoaoJandre 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 12934 |
|
@DaanHoogland could we try the CI again? |
|
@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-12877)
|
* Readd filename string on qemuimg create * Remove empty object on the data pool details of storage pools with no data pool * Only use the method createPhysicalDiskByLibVirt with RBD when the pool is of erasure code type. Also added javadoc for createPhysicalDisk method * Change literal '/' string to File.separator * Add support for erasure code pools * Fix null on putAll
Description
This PR adds support for Ceph erasure code pools, allowing users to specify the data pool required for using this type of Ceph pool.
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Screenshots (if appropriate):
Details of the data pool in the UI
How Has This Been Tested?
The following tests were executed to verify this patch; tests were executed on replicated pools as well to check if this patch would interfere in it.
How did you try to break this feature and the system with this change?
I tried to migrate volumes from different type of pool types (NFS, iSCSI and RBD) to each other, verifying that the migration was successful.