metal-stack / mini-lab

a small, virtual setup to locally run the metal-stack
MIT License
57 stars 12 forks source link

Try IPMI simulator (virtual BMC) again #116

Open Gerrit91 opened 2 years ago

Gerrit91 commented 2 years ago

This would give us much higher test coverage as also the ipmi_sim from OpenIPMI seems to be pretty much feature complete.

First steps for trying it out would be:

If this works out, we can think about where we can deploy the metal-bmc to connect the system to the metal-stack. With this, we could start integration tests for go-hal and also refactor go-hal that we have a working default implementation for the IPMI protocol (wider hardware support).

References:

Additional information:

robertvolkmann commented 1 week ago

I created a proof of concept in https://github.com/robertvolkmann/clab-ipmi

mwindower commented 6 days ago

Nice! Is the serial console connection and restarts also working?

robertvolkmann commented 5 days ago

Yes, both are working.

majst01 commented 5 days ago

Sadly on Dell, ipmi is disabled by default. Is there a Redfish simulator available as well ? Just asking

robertvolkmann commented 5 days ago

We could try pyghmi or sushy-tools.

mwindower commented 5 days ago

Sadly on Dell, ipmi is disabled by default. Is there a Redfish simulator available as well ? Just asking

It's possible to activate IPMI with a PATCH command with {"IPMI": {"ProtocolEnabled": true}} to https:///redfish/v1/Managers/iDRAC.Embedded.1` s. page 171 @ https://dl.dell.com/topicspdf/idrac9-lifecycle-controller-v3303030_API-Guide_en-us.pdf

majst01 commented 4 days ago

Sadly on Dell, ipmi is disabled by default. Is there a Redfish simulator available as well ? Just asking

It's possible to activate IPMI with a PATCH command with {"IPMI": {"ProtocolEnabled": true}} to https:///redfish/v1/Managers/iDRAC.Embedded.1` s. page 171 @ https://dl.dell.com/topicspdf/idrac9-lifecycle-controller-v3303030_API-Guide_en-us.pdf

Thanks for the pointer, i will try hard to stay with redfish only, but if this does not work will need to do that.