-
Notifications
You must be signed in to change notification settings - Fork 1.2k
FiberChannel Multipath for KVM + Pure Flash Array and HPE-Primera Support #7889
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
FiberChannel Multipath for KVM + Pure Flash Array and HPE-Primera Support #7889
Conversation
Congratulations on your first Pull Request and welcome to the Apache CloudStack community! If you have any issues or are unsure about any anything please check our Contribution Guide (https://github.com/apache/cloudstack/blob/main/CONTRIBUTING.md)
|
great work @rg9975 |
huge job with great description. looking forward to reviewing the code @rg9975 ! |
@blueorangutan package |
@DaanHoogland a [SF] 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]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 6847 |
@blueorangutan test |
@DaanHoogland a [SF] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
[SF] Trillian test result (tid-7515)
|
@rg9975 can you check the build failure in the GitHub actions job? |
@blueorangutan package |
@DaanHoogland a [SF] 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. |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #7889 +/- ##
============================================
- Coverage 29.15% 28.47% -0.69%
+ Complexity 31278 30732 -546
============================================
Files 5251 5319 +68
Lines 368763 372351 +3588
Branches 53759 54168 +409
============================================
- Hits 107529 106018 -1511
- Misses 246530 251802 +5272
+ Partials 14704 14531 -173
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 7041 |
@rg9975 you seem to be breaking a eof formatting rule : https://github.com/apache/cloudstack/actions/runs/6123042005/job/16880502073?pr=7889#step:6:9522 |
@blueorangutan package |
@rohityadavcloud a [SF] 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. |
@rg9975 can you please address the logging related comments? If it is too much I can push those changes if you won't mind :-) |
@blueorangutan package |
@DaanHoogland 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]: ✔️ el7 ✔️ el8 ✔️ el9 ✖️ debian ✔️ suse15. SL-JID 7951 |
@blueorangutan test |
@shwstppr a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
[SF] Trillian test result (tid-8495)
|
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 - let's merge this as/when it passes regression tests; we can't test HPE-Primera and rely on the author's own testing.
@blueorangutan package |
@rohityadavcloud 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]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 7961 |
@blueorangutan test |
@DaanHoogland a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
[SF] Trillian test result (tid-8498)
|
i'm insane |
@DaanHoogland a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
[SF] Trillian test result (tid-8524)
|
…port (apache#7889) This PR provides a new primary storage volume type called "FiberChannel" that allows access to volumes connected to hosts over fiber channel connections. It requires Multipath to provide path discovery and failover. Second, the PR adds an AdaptivePrimaryDatastoreProvider that abstracts how volumes are managed/orchestrated from the connector to communicate with the primary storage provider, using a ProviderAdapter interface, allowing the code interacting with the primary storage provider API's to be simpler and have no direct dependencies on Cloudstack code. Lastly, the PR provides an implementation of the ProviderAdapter classes for the HP Enterprise Primera line of storage solutions and the Pure Flash Array line of storage solutions.
…mera Support (apache#7889)" This reverts commit a9b3f9d.
…port (apache#7889) This PR provides a new primary storage volume type called "FiberChannel" that allows access to volumes connected to hosts over fiber channel connections. It requires Multipath to provide path discovery and failover. Second, the PR adds an AdaptivePrimaryDatastoreProvider that abstracts how volumes are managed/orchestrated from the connector to communicate with the primary storage provider, using a ProviderAdapter interface, allowing the code interacting with the primary storage provider API's to be simpler and have no direct dependencies on Cloudstack code. Lastly, the PR provides an implementation of the ProviderAdapter classes for the HP Enterprise Primera line of storage solutions and the Pure Flash Array line of storage solutions.
Hello, are there any plans to support Alletra 5/6K and MP? This is probably compatible with 9K since it is based on Primera but with the general direction being the MP platform (officially GreenLake for Block) it would be interesting to see support for the new generations. |
At this time we do not have plans to test against these newer devices, but the Alletra line appears to support HPE Web Services API 1.10 which the driver is coded to. I suspect it may work as-is or with minor tweaks. |
Good point about the Web Services API. I will raise it to the Alletra engineering team to verify it. Most likely i will test it on A6K and MP arrays and let you know! |
Hello, We’re using a 3PAR 8000 series array with API version 1.6. Although the documentation mentions support for 3par/Primera, we cannot integrate our existing 3par storage setup with CloudStack. Is there a workaround or method for integrating our current 3PAR infrastructure without making major changes to the storage layer? We have tried both with and http://admin:pass@172.xx.xx.xx:8008/api/v1?cpg=cloudstack&hostset=kvm-cs Irrespective of whether the capacity bytes are in the API URL, or in the capacity bytes section of the UI, it always comes back with Request failed. (530) on 3par CLI it shows that the user is connected: fs9000 cli% showwsapi |
I'm unsure why you would be seeing that. The driver reads the capacityBytes from the provided inputs and, if its set, will validate it does not exceed the value from the arrays capacityInBytes. When it is not set, it will attempt to get the capacityInBytes from the array (if set) and use it or log the exception you are seeing. You perhaps can try using a CMK command to see if there is something happening between the UI and API when providing the inputs? you may also be able to set the capacityInBytes on the array (assuming the version of the Web Service API your using supports that). We have only tested on the HPE Web Service v1.10+.
|
I'm working with a 3PAR system where the API version is 1.6.5. I understand some methods might differ with this version, but since I’m entering capacity manually through the UI, I assume that part should still work as expected. As for CMK, I installed the EXE and connected using credentials, but I’m a bit stuck on how to add the primary 3PAR storage to a zone from the CLI. I haven’t found clear guidance on this yet, so any help or pointers would be really appreciated! Thanks in advance! |
FiberChannel Multipath SCSI for KVM, Pure Flash Array and HPE-Primera Support
Description
This PR provides a new primary storage volume type called "FiberChannel" that allows access to volumes connected to hosts over fiber channel connections. It requires Multipath to provide path discovery and failover. Second, the PR adds an AdaptivePrimaryDatastoreProvider that abstracts how volumes are managed/orchestrated from the connector to communicate with the primary storage provider, using a ProviderAdapter interface, allowing the code interacting with the primary storage provider API's to be simpler and have no direct dependencies on Cloudstack code. Lastly, the PR provides an implementation of the ProviderAdapter classes for the HP Enterprise Primera line of storage solutions and the Pure Flash Array line of storage solutions.
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
How Has This Been Tested?
Testing involves the following setup:
The following testing scenarios are used: