Your Browser is Out of Date

Nytro.ai uses technology that works best in other browsers.
For a full experience use one of the browsers below

Dell.com Contact Us
United States/English
Rich Schnur
Rich Schnur

35 years’ experience in global product management. People manager with roles at General Instrument, General Signal, AT&T, Motorola, Intel and Dell Technologies.  Currently managing iDRAC Redfish API.  Hobbies include Hockey and Camp Gladiator.

Assets

Home > Servers > Systems Management > Direct from Development: Tech Notes

PowerEdge systems management Redfish API

Dell PowerEdge Monitoring using Redfish API to Determine Boot State

Texas Roemer Rich Schnur Texas Roemer Rich Schnur

Mon, 16 Jan 2023 18:04:41 -0000

|

Read Time: 0 minutes

Summary

Dell integrated Dell Remote Access Controller (iDRAC) firmware Redfish API functionality supports using a POST code to determine the stage of the boot process.

Introduction

The Dell integrated remote access controller (iDRAC9) Redfish API is a next- generation systems management interface standard that enables scalable, secure, and open server management. When used for PowerEdge server monitoring, it can be useful to understand the state of the managed server. The most basic information is whether the server is ON or OFF. The next logical set of questions when the PowerEdge server is ON, is what sub-state is the server in, for example, at what stage is the server within the booting process? 

The iDRAC9 Redfish API supports the POST code attribute that gives you valuable information on sub-state operation. POST is useful in monitoring your server, in combination with the health status of various components of the server. This data is useful in creating dashboards and reports. It will give you insights on the stages of configuration of items such as the BIOS and storage configurations.

Server boot process stage

The Customer can leverage the Dell OEM action

DellLCService.GetRemoteServicesAPIStatus 

This action output lets the customer know whether the server is in POST, and when the server is out of POST.

Server last reboot

For information about the server’s last reboot, refer to iDRAC Life Cycle (LC) logs (URI “redfish/v1/Managers/iDRAC.Embedded.1/Logs/Lclog”), then look for the latest entry logged about server reboot. You can also run a GET on URI:

/redfish/v1/Managers/iDRAC.Embedded.1/Oem/Dell/DellAttributes/S ystem.Embedded.1?$select=Attributes/SystemInfo.1.BootTime

This will report the last boot detected.

Run-level prior to the last reboot

Unfortunately, the iDRAC9 does not know what run level the Linux OS is in. This would be logged within the OS logs.

How do I use the POST code to determine system information on the stage of the server’s boot process?

Using a GET command on the following URI:

Sysinfo1.POSTCode attribute./redfish/v1/Managers/iDRAC.Embedded.1/Attributes gives the Sysinfo.1.POSTCode attribute.

This POST code will show you info on the following stages:

0x00, "Unrecognized Post Code.", 0x01, "System Power On.",

0x02, "CPU Microcode load.", 0x03, "Chipset Initialization.", 0x04, "Memory Configuration.", 0x05, "Shadow BIOS.",

0x06, "Multiprocessor Initialization.", 0x07, "POST processing start.",

0x08, "System Management Mode (SMM)initialization.", 0x09, "PCI bus enumeration & video initialization.", 0x0A, "iDRAC is ready.",

0x0B, "Extended Memory test started.", 0x0C, "Extended Memory test running \\", 0x0D, "Extended Memory test running /", 0x0E, "Extended Memory test completed.", 0x40, "Display sign-on.",

0x41, "PCI configuration.",

0x50, "An issue was detected. System at boot F1/F2 prompt. Requires entry to continue. 0x51, "No bootable devices.",

0x52, "In BIOS Setup Menu.", 0x53, "In BIOS Boot Menu.",

0x54, "Automated Task application.", 0x55, "Performing CSIOR.",

0x56, "In Lifecycle Controller.", 0x57, "Initializing iDRAC.", 0x58, "Preparing to Boot.",

0x7D, "The system BIOS is about to start a boot option.", 0x7E, "Giving control to UEFI aware OS.",

0x7F, "Given control to OS.", 0x80, "No memory is detected.",

0x81, "Memory is detected but is not configurable.", 0x82, "Memory is configured but not usable.", 0x83, "System BIOS shadow failed.",

0x84, "CMOS failed.",

0x85, "DMA controller failed.", 0x86, "Interrupt controller failed.", 0x87, "Timer refresh failed.",

0x88, "Programmable interval timer error.", 0x89, "Parity error.", 0x8A, "SIO failed.",

0x8B, "Keyboard controller failed.",

0x8C, "System management interrupt initialization failed.", 0x8D, "QuickPath Interconnect (QPI) fatal error.",

0x8E, "MRC fatal error.",

0x8F, "Intel Trusted Execution Technology (TXT) fatal error.", 0x90, "Unable to load required BIOS files.",

0xC0, "Shutdown test failed.",

0xC1, "BIOS POST memory test failed",

0xC2, "Remote access controller configuration failed.", 0xC3, "CPU configuration failed.",

0xC4, "Incorrect memory configuration.", 0xD0, "System BIOS has halted.",

0xD1, "System BIOS has halted due to Non-Maskable Interrupt (NMI).", 0xFE, "General failure after video."

Conclusion

The Redfish RESTful API describes many useful open system attributes that provide details about systems monitoring and management of your PowerEdge server. These attributes with Dell specific features, as described above, can increase your overall systems knowledge and efficiency.

References

Dell now has an API documentation site that can be found on developer.dell.com. This site features tiles on various products, including the iDRAC9 Redfish API.

iDRAC RESTful API resources:

iDRAC RESTful API with Redfish automation tools:

iDRAC RESTful API with Redfish automation videos. These videos provide details about scripting the iDRAC RESTful API with Python and PowerShell:

DMTF materials on Redfish. These documents and videos explain the basics of the Redfish standard: