-
Notifications
You must be signed in to change notification settings - Fork 32
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
Feature request: Add enclosure support #211
Comments
@BlaineEXE I hope you mean adding more library level local APIs instead of create a plugin named as May I have early look on your 35% work? I used to have SES plugin created but dropped. |
The work I had done focused on using the HPSA plugin to get the information. Joe and I have discussed the SES method you mentioned, and it has merit, but I think a combination of both vendor-specific plugin and SES methods will be best. The vendor-specific plugin would be needed if one were to put a JBOD behind a RAID controller, for example. And the SES method would be preferable for a customer who knows that all controllers are going to be in HBA mode. I think this can be broken into two parts that can be developed simultaneously. Part 1) Create the Enclosure data type/structure. The HPSA pluginadds data to Enclosure structures. In the plugin, SES commands can be called when appropriate from the HPSA plugin (i.e., for enclosures behind HBAs). The plugin can also give information about enclosures behind RAID mode controllers. One of the properties HPSSACLI returns about an enclosure is a SEP WWID, which we can use to determine a drive bay location with more precision. Part 2) The SES functionality you have mentioned is still appropriate but does not add data into an Enclosure structure. For other plugins that do not return an enclosure's SEP WWID, SES functionality could deliver that information in the plugin. There is still a lot of discussion and planning involved to make sure this is successful. It would be good to sketch out how everything should look and work. My 35% work: https://github.com/BlaineEXE/libstoragemgmt/commits/add-enclosure-support |
Thank you.
I will take a look on your code and we could work out a plan then. But it has to wait a while.( I am taking PTO for next week(Oct 1-7). |
@BlaineEXE I did a quick view on your code, it seems you are intending to create some plugin API like
Even playing with SES and SPL in C is fun for me, but apparently, above properties(especially enclosure status and port link speed) require numerous work, any good use case I could persuade my boss? |
@BlaineEXE To simplify things, are you seeking implementations of these APIs(take python API as an example):
|
@cathay4t Thanks for taking a look at Blaine's code. I agree that we should be able to get most of this information via standard methods as well as via hpssacli, the main reason why we erred on the side of starting with the hpssacli route is because it would work in RAID mode too. So, keep that in mind as we go forward with this work. I agree with you that we need LocalDisk methods on top of whatever we might put in the standard plugin interface. As far as use cases are concerned...we work heavily in HPC right now, and JBODs are used to minimize per-node licensing costs and maximize capacity. So, many of our configurations going forward will involve multiple daisy-chained high-capacity JBODs attached to x86 servers. I think we have a shot with libstoragemgmt to provide a significantly better user experience than with the current toolchains that exist today, particularly for this HPC market (though as I've discussed before, libstoragemgmt is useful for other scale-out solutions like Ceph as well). That's how I've justified my involvement here with my bosses. :) |
@joehandzik Thanks for the inspiring use cases. I agree both plugin and library API should be able to query link speed, fan, sensors, power supply and etc. @joehandzik @BlaineEXE If any of you are working on plugin or library API mentioned above, please create an issue and assign to yourself with simple notes in order to eliminate overlap. And we should discuss the API design at early stage instead of during PR review when all patches are done. |
Some feedback we've gotten from one of our test labs is that we are not able to monitor the status of JBODs with lsm. If we use an lsm-only approach to management, the only way to detect JBOD health issues is to view the health LED on the physical chassis.
I've already completed about 35% of the work needed to enable this feature, but I haven't been able to work on it in a while. It would be good to develop some requirements around what details need to be included in an enclosure moving forward.
Desired properties:
The text was updated successfully, but these errors were encountered: