apache / cloudstack

Apache CloudStack is an opensource Infrastructure as a Service (IaaS) cloud computing platform
https://cloudstack.apache.org/
Apache License 2.0
2.1k stars 1.11k forks source link

Add support to RBD erasure code pools #9808

Open BryanMLima opened 1 month ago

BryanMLima commented 1 month ago

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

image

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.

codecov[bot] commented 1 month ago

Codecov Report

Attention: Patch coverage is 6.79612% with 96 lines in your changes missing coverage. Please review.

Project coverage is 15.78%. Comparing base (f10d9fe) to head (c873845). Report is 7 commits behind head on main.

Files with missing lines Patch % Lines
...hypervisor/kvm/storage/StoragePoolInformation.java 0.00% 35 Missing :warning:
...ain/java/com/cloud/api/query/QueryManagerImpl.java 0.00% 16 Missing :warning:
.../hypervisor/kvm/storage/LibvirtStorageAdaptor.java 0.00% 12 Missing :warning:
.../hypervisor/kvm/storage/KVMStoragePoolManager.java 0.00% 10 Missing :warning:
...e/cloudstack/api/response/StoragePoolResponse.java 0.00% 6 Missing :warning:
...torage/datastore/provider/DefaultHostListener.java 0.00% 4 Missing :warning:
...oud/hypervisor/kvm/storage/LibvirtStoragePool.java 0.00% 4 Missing :warning:
.../cloud/hypervisor/kvm/storage/KVMPhysicalDisk.java 70.00% 1 Missing and 2 partials :warning:
...ud/hypervisor/kvm/storage/KVMStorageProcessor.java 0.00% 2 Missing :warning:
...CreatePrivateTemplateFromVolumeCommandWrapper.java 0.00% 1 Missing :warning:
... and 3 more
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #9808 +/- ## ============================================ - Coverage 16.60% 15.78% -0.83% - Complexity 12564 12565 +1 ============================================ Files 5235 5628 +393 Lines 460088 492304 +32216 Branches 58295 62107 +3812 ============================================ + Hits 76408 77714 +1306 - Misses 375354 406114 +30760 - Partials 8326 8476 +150 ``` | [Flag](https://app.codecov.io/gh/apache/cloudstack/pull/9808/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | | |---|---|---| | [uitests](https://app.codecov.io/gh/apache/cloudstack/pull/9808/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `4.04% <ø> (?)` | | | [unittests](https://app.codecov.io/gh/apache/cloudstack/pull/9808/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `16.60% <6.79%> (-0.01%)` | :arrow_down: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

BryanMLima commented 1 month ago

@blueorangutan package

blueorangutan commented 1 month ago

@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.

blueorangutan commented 1 month ago

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 11365