Chassis Commands

These commands are primarily to provide standardized chassis status and control functions for Remote Management Cards and Remote Consoles that access the BMC. The IPMI standard defines the following Chassis commands:

Command O/M Support API
Get Chassis Capabilities M Yes No
Get Chassis Status M Yes Yes
Chassis Control M Yes Yes
Chassis Reset O No No
Chassis Identify O No No
Set Front Panel Enables O No No
Set Chassis Capabilities O No No
Set Power Restore Policy O No No
Set Power Cycle Interval O No No
Get System Restart Cause O No No
Set System Boot Options O No No
Get System Boot Options O No No
Get POH Counter O Yes No

Note

  • O/M - Optional/Mandatory command as stated by the IPMI standard
  • Support - Supported command by send_message_with_name method
  • API - High level API support implemented in this library

Get Chassis Capabilities Command

This command returns information about which main chassis management functions are present on the IPMB and what addresses are used to access those functions. This command is used to find the devices that provide functions such as SEL, SDR, and ICMB Bridging so that theyt can be accessed via commands delivered via a physical or logical IPMB.

get_chassis_capabilities()

NOT IMPLEMENTED YET!!!

Get Chassis Status Command

This command returns information regarding the high-level status of the system chassis and main power subsystem.

get_chassis_status()

where the returned object has the following attributes shown in the order as they appear in the table of the IPMI standard:

  • restore_policy
  • control_fault
  • fault
  • interlock
  • overload
  • power_on
  • last_event
  • chassis_state

For example:

chassis_status=ipmi.get_chassis_status()

Chassis Control Command

This command provides a mechanism for providing power up, power down, and reset control.

chassis_control(option)

where the option argument can take the following integer values as defined in the standard:

  • CONTROL_POWER_DOWN = 0
  • CONTROL_POWER_UP = 1
  • CONTROL_POWER_CYCLE = 2
  • CONTROL_HARD_RESET = 3
  • CONTROL_DIAGNOSTIC_INTERRUPT = 4
  • CONTROL_SOFT_SHUTDOWN = 5

For example:

ipmi.chassis_control(option)

There are methods defined for each of the above options:

ipmi.chassis_control_power_down()
ipmi.chassis_control_power_up()
ipmi.chassis_control_power_cycle()
ipmi.chassis_control_hard_reset()
ipmi.chassis_control_diagnostic_interrupt()
ipmi.chassis_control_soft_shutdown()