Closed tasleson closed 1 year ago
When a SES slot has both the locate and fail LEDs illuminated, what is the IBPI pattern?
Is it "3 LEDs per slot" system?
I believe it would be beneficial if the slot specifier was persistent, that it would survive reboots and dynamic reconfiguration. I believe this could be attained with SES by using an identifier in the enclosure that persists?
I cannot help you with that. We are not using SES configurations now.
ledctl has no knowledge of multi-path, thus if you don't specify -x when doing something like ./ledctl locate=/dev/sdk the code clears LEDs of every device twice. I'll write up an issue on this.
Yes, we are not supporting multipath right now. Ledctl should do only what is intended, so we are going to make -x as default. That should resolve issue.
I will review your changes later this week.
Thanks, Mariusz
@mtkaczyk Thanks for the review, I'll re-work the PR.
When a SES slot has both the locate and fail LEDs illuminated, what is the IBPI pattern?
Is it "3 LEDs per slot" system?
The ses specification has separate bits for locate and failed, and they can be independently set.
@mtkaczyk I believe I've made the requested changes. Please take a look and see what you think, thanks!
When a SES slot has both the locate and fail LEDs illuminated, what is the IBPI pattern?
Is it "3 LEDs per slot" system?
The ses specification has separate bits for locate and failed, and they can be independently set.
Probably we don't care of this case yet. If drive in this slot was failed then we were unable to clear led from ledmon or ledctl context because we referred to block device which was gone. Situation has been changed when slot management was added. This is a new problem now, so we need adopt our solution to support multi-led controllers i.e. when many states can be set at once. According to specification NPEM can set every state concurrently, so we shouldn't limit our implementation to 2 states only.
@mtkaczyk I would like to declare that the JSON output in PR is tentative and should not be declared final yet as we may need to make some changes to support the notion of persistent identifiers.
@mtkaczyk I would like to declare that the JSON output in PR is tentative and should not be declared final yet as we may need to make some changes to support the notion of persistent identifiers.
OK, so if we can move json support to new PR that will be perfect. Can you handle this? For SCSI/SES part you have my approve :)
@mtkaczyk I would like to declare that the JSON output in PR is tentative and should not be declared final yet as we may need to make some changes to support the notion of persistent identifiers.
OK, so if we can move json support to new PR that will be perfect. Can you handle this?
JSON change removed from this PR.
For SCSI/SES part you have my approve :)
Great
@mtkaczyk
https://github.com/intel/ledmon/pull/109#discussion_r1007755668
_enclosure_get_slot
updated to take device parameter.
@tasleson please see #106 We got last approval- change will be merged soon.
@tasleson please see #106 We got last approval- change will be merged soon.
This is great news. However, I would still like to get this change merged too :smile:
@mtkaczyk @mgrzonka Where are we at with regards to this? Thanks
Hello, Sorry for late response, we had some day-offs in Poland this week :) I will review your pull last time. Next week we will run some static code analysis and our internal testing scope eventually (it we determine that there is a risk of regression). So, we will probably ask for some minor soon. After that change will be merged. I think that we will be able to close this in 3 weeks.
Mariusz
Could you please rebase your change to latest upstream? There are conflicts with statuses changed by last pull merged.
Thanks!
Could you please rebase your change to latest upstream? There are conflicts with statuses changed by last pull merged.
Thanks!
Done
I haven't found any issues.
@tasleson I'll additionally schedule some internal testing to ensure there aren't any regressions.
Re-based
This PR is a work in progress, posting early to get some feedback before I spend more time on it. I've found some minor issues when working on this change which are included at the beginning of the change set. However, in my test environment I'm finding it functional.Some open questions and areas that need a bit of work:
sg_ses
reports a check condition when I try to get/set a slot, ledctl operates like it was successful. I need to dig into this.-x
when doing something like./ledctl locate=/dev/sdk
the code clears LEDs of every device twice. I'll write up an issue on this.Sample output of two of the enclosures I have attached to a test system.