bmc-toolbox/bmclib

Integration with mgmtconfig and event streams

purpleidea opened this issue · 2 comments

Hiya,

I'm purpleidea, the main developer behind: https://github.com/purpleidea/mgmt/
I just watched this talk from ASG: https://www.youtube.com/watch?v=KrWYb-xO1FE
Thanks for sharing!

I think that this project would integrate nicely with an mgmt resource. https://github.com/purpleidea/mgmt/blob/master/docs/resource-guide.md
The win in doing this, is you'd be able to use mgmt's engine and language to describe your desired state of hardware, and also you'd get more testing of your library.

Secondly, I wanted to suggest that your API add a mechanism to detect events from the BMC (if it doesn't already). My understanding is that this is possible without polling from newer BMC's, and particular OpenBMC ( https://github.com/openbmc/docs/blob/master/rest-api.md#event-subscription-protocol ) however I'm not familiar enough with idrac, ilo, and friends to know what is possible. Mgmt can make use of an event stream if one is available, which is why it would be great to have!

If you'd like to discuss more, please let me know! If there's no interest, feel free to just close this issue, I won't be offended.

On the personal side of things, I've had a hell time dealing with supermicro tooling around their BMC's, so anything that removes part of that from the equation, is a valued tool to me. Hopefully you can push all of your vendors to move to OpenBMC and other similar solutions so we can kill off the proprietary code in all hardware.

Thanks!
James

Hey @purpleidea

Thanks for watching our talk, hope it was useful,

Since we're not active users of mgmt at the moment, we're unable to prioritize helping add integration in mgmt at the moment, but we would like to work on this at some point, we're happy to help fix/guide users trying to integrate though. I do realize, not having access to these devices is a blocker to add support, but maybe we're able to get our hands on some test hardware that can be used for development.

About events from the BMC, we could add support to configure events/subscribe to events, I need to look at if its in scope for the library to subscribe to events from it though. we'd like to add OpenBMC support and there seem to be emulators out there we could use.

Do let us know what sort of tooling with supermicro is annoying, that is hardware we use as well and maybe could improve support for in bmclib. We are speaking to our vendors to support OpenBMC and a certain vendor (starts with H and ends P) showed us a demo of OpenBMC running on their current hardware so its exciting :)

On a side note, we are trying to setup a working group for folks that work closely on bare metal lifecycle things, if you're interested in the topic do join our slack chat (we'll setup a IRC bridge at some point),

https://join.slack.com/t/bmc-toolbox/shared_invite/enQtNzQ4NzAyMzM2MjQxLTk2YTQyNjNhZDBmMTZlNmM3MjBlNTg5NzBhMjAwOWJkMTJkNjM1MTY1MDg2OTBjNWIyZWU3YzE2NDIyY2Y3NWE

not having access to these devices is a blocker to add support, but maybe we're able to get our hands on some test hardware that can be used for development.

Feel free to send something my way if you can. But any sort of mock environment is of course preferable.

we could add support to configure events/subscribe to events, I need to look at if its in scope for the library to subscribe to events from it though

I'm happy to help on the API side to get this right if you'd like. It would be incredibly useful and I'm confident future infrastructure will depend on this sort of thing.

slack chat (we'll setup a IRC bridge at some point),

I sadly don't have enough RAM on my laptop to run slack. I do have IRC though. Cheers