ipmi

package
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 26, 2025 License: BSD-2-Clause Imports: 7 Imported by: 0

README

IPMI

This module provides power management capabilities to the DUT via the Intelligent Platform Management Interface (IPMI). The dutagent forwards commands such as power on/off, reset, and status queries to the BMC of the DUT over the network.```

COMMANDS:
  on       Power on the device
  off      Power off the device
  cycle    Power cycle the device (off, then on)
  reset    Reset the device (hard reset, if supported)
  status   Show the current power status

The module connects to the BMC using a configurable host, port, user, and password.

⚠️ Security Warning: In this first implementation, the IPMI password is stored in plaintext in the configuration file. This poses a security risk and should only be used in trusted environments.

This module does not support reading stdin from the user or sending arbitrary IPMI commands. It is intended for basic chassis power control only.

See ipmi-example-cfg.yml for examples.

Configuration Options

Option Value Description
host string Hostname or IP address of the BMC
port int Port number of the IPMI interface (default: 623)
user string Username for IPMI authentication
password string Password for IPMI authentication

⚠️ Security Warning: Passwords are stored in plaintext in the configuration file in this first implementation. Future versions will implement secure credential storage mechanisms.

Documentation

Overview

Package IPMI provides a dutagent module that allows IPMI commands to be sent to a DUT's BMC.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IPMI

type IPMI struct {
	Host     string // Host is the hostname or IP address of the DUT's BMC
	Port     int    // Port is the port of the IPMI interface on the BMC. Default: 623
	User     string // User is used for IPMI authentication
	Password string // Password is used for IPMI authentication. WARNING: Unsavely stored as plaintext
	Timeout  string // Timeout is the duration for IPMI commands. Default: 10 seconds
	// contains filtered or unexported fields
}

IPMI is a module that provides basic power management functions for a DUT via IPMI. It allows sending power on, off, cycle, reset, and status commands to the device's BMC.

func (*IPMI) Deinit

func (i *IPMI) Deinit() error

func (*IPMI) Help

func (i *IPMI) Help() string

func (*IPMI) Init

func (i *IPMI) Init() error

func (*IPMI) Run

func (i *IPMI) Run(ctx context.Context, s module.Session, args ...string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL