Skip to content
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

Emulate power control of bmc and IPMI with raspberry pi for foreman #2

Open
Srendi opened this issue May 18, 2019 · 2 comments
Open

Comments

@Srendi
Copy link

Srendi commented May 18, 2019

HI There,
I'm a Linux DevOps engineer. For a home cloud in a lab, I bemoan the high cost and low availability of boards with BMC and IPMI. Especially so with the 32 core Ryzen Threadrippers (DevOps Lab in a box!). I'd like to propose a possible solution: a Raspberry Pi configured as per this repo. Combining diy-ipmi with impi-simulator could bring actual power control in line with the IPMI standard. "But why?" I hear you ask. The answer is Foreman. Foreman is life cycle management for physical and virtual servers. WIth impi-simulator, diy-ipmi, and a configured Raspberry pi, Foreman can power on and power cycle physical servers (and virtual servers by adding commands such as VBoxManage or the VMware equivalent to the projects). Moreover is the ability to add metal to Kubernetes... Spin up (and arbitrarily configure) machines on demand to add to a cluster. It is a really nice feature for unenabled boards that will add key benefits of bmc and ipmi. Do you have thoughts about the feasibility of this idea?

@edaniszewski
Copy link
Contributor

Sorry for the delayed response! Unfortunately, I'm not totally clear on what use case you are trying to achieve with this proposed setup. In particular:

WIth impi-simulator, diy-ipmi, and a configured Raspberry pi, Foreman can power on and power cycle physical servers

I'm not totally sure what ipmi-simulator would bring to the table for that. Unfortunately, this simulator is just that -- a simple simulator where the state returned is just maintained in flat files on the FS. Its original use case was for testing (as you mentioned.. high cost and low availability of boards w/ BMC and IPMI).

Really, all this simulator does is some basic state management (e.g. reading and writing from files) for IPMI commands that it receives. The real powerhouse behind it is ipmisim, which as they describe it:

ipmi_sim is a full IPMI simulator and does not require a real BMC. It
can be used to simulate an entire IPMI system, including satellite
MCs. You can use it over a LAN connection, or it provides a serial
interface so it can be used with QEMU or other VMs. The serial
interface implements the serial protocols available on many ATCA
blades, and it also emulates a protocol so it may be used for
emulation of a standard IPMI interface (KCS, SMIC, BT, SSIF) including
the handling of reset, power, and interrupts.

Unless I'm misunderstanding, it seems like your use case is more suited to using that tool to create a simulated BMC which would allow you to implement power management (e.g. power cycle) hardware which would not otherwise accept IPMI commands? If that is the case, I think this repo could be used as a loose template for how that could be set up, but ultimately the goal of this repo is not to do any sort of actual power control, but only to emulate it for testing purposes.

Let me know if this makes sense, or if I'm missing something and misread the question.

@fatalfeel
Copy link

try this
IPMI simulator build step
http://fatalfeel.blogspot.com/2013/12/ipmi-simulator-build-step.html

HI There,
I'm a Linux DevOps engineer. For a home cloud in a lab, I bemoan the high cost and low availability of boards with BMC and IPMI. Especially so with the 32 core Ryzen Threadrippers (DevOps Lab in a box!). I'd like to propose a possible solution: a Raspberry Pi configured as per this repo. Combining diy-ipmi with impi-simulator could bring actual power control in line with the IPMI standard. "But why?" I hear you ask. The answer is Foreman. Foreman is life cycle management for physical and virtual servers. WIth impi-simulator, diy-ipmi, and a configured Raspberry pi, Foreman can power on and power cycle physical servers (and virtual servers by adding commands such as VBoxManage or the VMware equivalent to the projects). Moreover is the ability to add metal to Kubernetes... Spin up (and arbitrarily configure) machines on demand to add to a cluster. It is a really nice feature for unenabled boards that will add key benefits of bmc and ipmi. Do you have thoughts about the feasibility of this idea?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants