What is Redfish?

Redfish is an open DMTF standard for managing servers and other data center hardware through a RESTful API that exchanges JSON over HTTPS. The Distributed Management Task Force released version 1.0 in 2015 as a modern successor to IPMI. A Redfish service usually runs on the server's baseboard management controller (BMC), so it can report hardware health, inventory and logs, and power the host on or off, even when the operating system is not running. Because it uses ordinary web technology, engineers can work with it from curl, Python or any HTTP client.

How the Redfish resource model works

Every item in Redfish is a resource with its own URI. Clients start at the service root, /redfish/v1/, and follow links to collections and their members. DMTF publishes the schemas in CSDL, JSON Schema and OpenAPI formats, and vendors add their own extensions inside a defined Oem property. The main top-level resources are:

  • Systems: the logical computer, with processors, memory, storage, BIOS settings and power state.
  • Chassis: the physical enclosure, with thermal and power data and indicator LEDs.
  • Managers: the BMC itself, with its firmware version and network settings.
  • UpdateService: firmware inventory and update actions.
  • EventService: subscriptions that push alerts to a listener.
  • AccountService and SessionService: users, roles and login sessions.

A worked example: reading status and restarting a server

Suppose a BMC answers at bmc01.mgmt.example.com. A GET on /redfish/v1/Systems returns a collection with one member, for example /redfish/v1/Systems/1 (the ID varies by vendor; Dell uses System.Embedded.1). A GET on that member returns JSON with fields such as PowerState set to On, Status.Health set to OK and a ProcessorSummary showing two processors. To force a restart, the client sends a POST to /redfish/v1/Systems/1/Actions/ComputerSystem.Reset with the body {"ResetType": "ForceRestart"}. For repeated calls, the client creates a session and reuses the X-Auth-Token header instead of sending a password with every request.

Key Point

Read the ResetType@Redfish.AllowableValues annotation on each platform, because vendors support different reset types.

Redfish vs IPMI

Both standards give out-of-band access through the BMC. They differ in design and in how easily they fit into current automation tooling.

  • Transport: IPMI uses binary RMCP+ messages on UDP port 623. Redfish uses HTTPS, normally on TCP port 443.
  • Data format: IPMI returns raw sensor records that tools must decode. Redfish returns self-describing JSON.
  • Security: Redfish relies on TLS and role-based accounts. IPMI 2.0 has known weaknesses in its authentication handshake.
  • Coverage: Redfish describes firmware, storage, GPUs and network adapters in far more detail.
  • Events: Redfish pushes events to subscribers over HTTPS. IPMI relies on polling or Platform Event Traps sent over SNMP.

Where Redfish fits in operations

Redfish has become the main interface for automating server lifecycle tasks such as bare-metal provisioning, BIOS configuration, firmware updates and hardware inventory. OpenStack Ironic, Ansible modules and vendor management suites call it directly. The standard has also grown beyond servers. SNIA Swordfish extends the model to storage, and DMTF has added schemas for power distribution and cooling equipment so that facility devices can be managed in the same API style.

Implementation differences to plan for

Redfish is a standard, but implementations vary. Resource IDs, supported properties, OEM extensions and schema versions depend on the vendor and the firmware release, and older firmware may expose only part of the model. Newer schema versions also replace the Thermal and Power resources with ThermalSubsystem and PowerSubsystem, so a script written for one server generation may need changes for the next. Test against each server model in your fleet and discover paths by following links from the service root.

How CloudSino approaches Redfish

CloudSino DCOS supports Redfish alongside IPMI and vendor BMC interfaces including Dell iDRAC, HPE iLO, Lenovo XCC and Huawei iBMC. Through the out-of-band channel it collects the status of power supplies, fans, disks, RAID cards, memory, CPUs, GPUs and network cards, along with temperature, power consumption, hardware logs and firmware versions. DCOS also supports remote power control, remote console, batch operations and firmware batch upgrades, and it builds component-level asset records from the collected data.

Frequently asked questions

Does Redfish replace IPMI completely?

On new servers it is the preferred interface, and some vendors let you turn off IPMI over LAN entirely. Many fleets still contain older hardware and tools that depend on IPMI, so most teams run both for a period and move automation to Redfish one server model at a time.

What port does Redfish use?

Redfish runs over HTTPS, so it normally uses TCP port 443 on the BMC's management interface. Some implementations allow a different port to be configured. On current BMC firmware, plain HTTP is usually disabled or simply redirects to HTTPS.

How do I test a Redfish service?

Start with a GET on /redfish/v1/ using curl and valid credentials. DMTF's Redfish Service Validator checks a live service against the published schemas, and the Redfish Mockup Server lets you develop scripts against sample data without touching production hardware.

Is Redfish only for servers?

No. The core use is server BMCs, but the model also covers chassis, network adapters and storage, with SNIA Swordfish adding fuller storage management. DMTF schemas for power distribution and cooling allow some PDUs and facility devices to expose Redfish as well.