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.