Module sysbot.modules.bmc.idrac

Dell iDRAC (Integrated Dell Remote Access Controller) Module

This module provides methods for interacting with Dell iDRAC BMC systems via Redfish API. It supports common operations such as retrieving system information, power management, and firmware information.

Note: This module uses the HTTP connector with Basic authentication. Sessions should be opened with protocol="http" and product="basicauth".

Classes

class Idrac

Dell iDRAC module for BMC system management.

This class provides methods to interact with Dell iDRAC systems using Redfish API via the HTTP connector with Basic authentication. All methods require an alias to identify the established HTTP session.

Ancestors

Methods

def clear_sel_logs(self, alias: str, manager_id: str = 'iDRAC.Embedded.1') ‑> dict

Clear the System Event Log (SEL).

Args

alias : str
The session alias for the iDRAC connection.
manager_id : str
Manager identifier (default: "iDRAC.Embedded.1").

Returns

dict
Response from the clear operation.
def get_bios_version(self, alias: str, system_id: str = 'System.Embedded.1') ‑> str

Get BIOS version information.

Args

alias : str
The session alias for the iDRAC connection.
system_id : str
System identifier (default: "System.Embedded.1").

Returns

str
BIOS version.
def get_firmware_version(self, alias: str, manager_id: str = 'iDRAC.Embedded.1') ‑> dict

Get iDRAC firmware version information.

Args

alias : str
The session alias for the iDRAC connection.
manager_id : str
Manager identifier (default: "iDRAC.Embedded.1").

Returns

dict
Firmware version information.
def get_jobs(self, alias: str, manager_id: str = 'iDRAC.Embedded.1') ‑> dict

Get iDRAC job queue information.

Args

alias : str
The session alias for the iDRAC connection.
manager_id : str
Manager identifier (default: "iDRAC.Embedded.1").

Returns

dict
Job queue information.
def get_language(self, alias: str, manager_id: str = 'iDRAC.Embedded.1') ‑> str

Get language configuration from iDRAC.

Args

alias : str
The session alias for the iDRAC connection.
manager_id : str
Manager identifier (default: "iDRAC.Embedded.1").

Returns

str
Language configuration.
def get_lifecycle_log(self, alias: str, manager_id: str = 'iDRAC.Embedded.1') ‑> dict

Get Lifecycle Controller log entries.

Args

alias : str
The session alias for the iDRAC connection.
manager_id : str
Manager identifier (default: "iDRAC.Embedded.1").

Returns

dict
Lifecycle log information.
def get_memory(self, alias: str, system_id: str = 'System.Embedded.1') ‑> dict

Get memory information.

Args

alias : str
The session alias for the iDRAC connection.
system_id : str
System identifier (default: "System.Embedded.1").

Returns

dict
Memory information.
def get_network_adapters(self, alias: str, system_id: str = 'System.Embedded.1') ‑> dict

Get network adapter information.

Args

alias : str
The session alias for the iDRAC connection.
system_id : str
System identifier (default: "System.Embedded.1").

Returns

dict
Network adapter information.
def get_ntp_source(self, alias: str, manager_id: str = 'iDRAC.Embedded.1') ‑> list

Get NTP server configuration from iDRAC.

Args

alias : str
The session alias for the iDRAC connection.
manager_id : str
Manager identifier (default: "iDRAC.Embedded.1").

Returns

list
List of NTP servers configured.
def get_power_info(self, alias: str, chassis_id: str = 'Chassis.System.Embedded.1') ‑> dict

Get power supply and power consumption information.

Args

alias : str
The session alias for the iDRAC connection.
chassis_id : str
Chassis identifier (default: "Chassis.System.Embedded.1").

Returns

dict
Power information.
def get_power_state(self, alias: str, system_id: str = 'System.Embedded.1') ‑> str

Get the current power state of the system.

Args

alias : str
The session alias for the iDRAC connection.
system_id : str
System identifier (default: "System.Embedded.1").

Returns

str
Power state (e.g., "On", "Off", "PoweringOn", "PoweringOff").
def get_processors(self, alias: str, system_id: str = 'System.Embedded.1') ‑> dict

Get processor information.

Args

alias : str
The session alias for the iDRAC connection.
system_id : str
System identifier (default: "System.Embedded.1").

Returns

dict
Processor information.
def get_sel_logs(self, alias: str, manager_id: str = 'iDRAC.Embedded.1') ‑> dict

Get System Event Log (SEL) entries.

Args

alias : str
The session alias for the iDRAC connection.
manager_id : str
Manager identifier (default: "iDRAC.Embedded.1").

Returns

dict
SEL log information.
def get_storage(self, alias: str, system_id: str = 'System.Embedded.1') ‑> dict

Get storage information.

Args

alias : str
The session alias for the iDRAC connection.
system_id : str
System identifier (default: "System.Embedded.1").

Returns

dict
Storage information.
def get_system_info(self, alias: str, system_id: str = 'System.Embedded.1') ‑> dict

Get general system information from iDRAC.

Args

alias : str
The session alias for the iDRAC connection.
system_id : str
System identifier (default: "System.Embedded.1").

Returns

dict
System information including model, serial number, manufacturer, etc.
def get_thermal_info(self, alias: str, chassis_id: str = 'Chassis.System.Embedded.1') ‑> dict

Get thermal (temperature and fans) information.

Args

alias : str
The session alias for the iDRAC connection.
chassis_id : str
Chassis identifier (default: "Chassis.System.Embedded.1").

Returns

dict
Thermal information including temperatures and fans.
def get_timezone(self, alias: str, manager_id: str = 'iDRAC.Embedded.1') ‑> str

Get timezone configuration from iDRAC.

Args

alias : str
The session alias for the iDRAC connection.
manager_id : str
Manager identifier (default: "iDRAC.Embedded.1").

Returns

str
Timezone configuration.
def get_utc_datetime(self, alias: str, manager_id: str = 'iDRAC.Embedded.1') ‑> str

Get current UTC datetime from iDRAC.

Args

alias : str
The session alias for the iDRAC connection.
manager_id : str
Manager identifier (default: "iDRAC.Embedded.1").

Returns

str
Current UTC datetime in ISO format.
def get_virtual_media(self, alias: str, manager_id: str = 'iDRAC.Embedded.1') ‑> dict

Get virtual media information.

Args

alias : str
The session alias for the iDRAC connection.
manager_id : str
Manager identifier (default: "iDRAC.Embedded.1").

Returns

dict
Virtual media information.
def set_power_state(self, alias: str, action: str, system_id: str = 'System.Embedded.1') ‑> dict

Set the power state of the system.

Args

alias : str
The session alias for the iDRAC connection.
action : str
Power action ("On", "ForceOff", "GracefulShutdown", "ForceRestart", "Nmi", "PushPowerButton").
system_id : str
System identifier (default: "System.Embedded.1").

Returns

dict
Response from the power operation.