Coder Social home page Coder Social logo

vapor-ware / ipmi-simulator Goto Github PK

View Code? Open in Web Editor NEW
41.0 9.0 8.0 33 KB

ipmi_sim in a minimal Docker container

License: GNU General Public License v3.0

Makefile 14.84% Shell 72.55% Dockerfile 6.32% Groovy 6.29%
docker ipmi simulator ipmi-sim emulator

ipmi-simulator's Introduction

IPMI Simulator

Build Status

ipmi_sim in a lightweight Docker container.

Usage

lan.conf and sim.emu are used to configure ipmi_sim. They are built into the image, so if updating any configurations, this repo must be cloned, the configs updated, and the image rebuilt.

Getting the Image

To get the image, you can either pull it from DockerHub

$ docker pull vaporio/ipmi-simulator

Or, build it directly from source

$ docker build -f Dockerfile -t vaporio/ipmi-simulator .

A Makefile target is also provided

$ make build

Running the Simulator

The Docker image will run ipmi_sim with its default command. Starting it is as easy as

$ docker run -d -p 623:623/udp vaporio/ipmi-simulator

This can also be done via the Makefile

$ make run

With the container running, you can test it out with ipmitool

$ ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis status
System Power         : on
Power Overload       : true
Power Interlock      : active
Main Power Fault     : true
Power Control Fault  : true
Power Restore Policy : unknown
Last Power Event     : 
Chassis Intrusion    : inactive
Front-Panel Lockout  : inactive
Drive Fault          : false
Cooling/Fan Fault    : false

ipmitool support

Note that not all ipmitool commands are likely to work, since this is currently just a simple simulator with minimal configuration. The snippet below describes the commands that are currently supported by the IPMI similator via ipmitool

# Firmware Version
ipmitool [options] mc info

# User
ipmitool [options] user summary
ipmitool [options] user list

# Chassis Commands
ipmitool [options] chassis status

# Chassis Power Commands
ipmitool [options] chassis power on
ipmitool [options] chassis power off
ipmitool [options] chassis power cycle
ipmitool [options] chassis power reset
ipmitool [options] chassis power status

# Chassis Power Commands (same as above block)
ipmitool [options] power on
ipmitool [options] power off
ipmitool [options] power cycle
ipmitool [options] power reset
ipmitool [options] power status

# Chassis Identify
ipmitool [options] identify [value]

# Get Boot Target
ipmitool [options] chassis bootparam get 5

# Set Boot Target
ipmitool [options] chassis bootdev [none|pxe|disk|cdrom|bios]

ipmi-simulator's People

Contributors

edaniszewski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ipmi-simulator's Issues

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

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.