redfish command-line client


Redfishtool is a commandline tool that implements the client side of the Redfish RESTful API for Data Center Hardware Management.

Redfish is the new RESTful API for hardware management defined by the DMTF Scalable Platform Management Forum (SPMF). It provides a modern, secure, multi-node, extendable interface for doing hardware management. The initial release included hardware inventory, server power-on/off/reset, reading power draw, setting power limits, reading sensors such as fans, read/write of ID LEDs, asset tags, and went beyond IPMI in functionality to include inventory of processors, storage, Ethernet controllers, and total memory. New Redfish extensions have now been added to the spec and include firmware update, BIOS config, memory inventory, direct attached storage control, and the list grows.

redfishtool makes it simple to use the Redfish API from a BASH script or interactively from a client command shell.

While other generic HTTP clients such as Linux curl can send and receive Redfish requests, redfishtool goes well beyond these generic HTTP clients by automatically handling many of the hypermedia and Redfish-specific protocol aspects of the Redfish API that require a client to often execute multiple queries to a redfish service to walk the hypermedia links from the redfish root down to the detailed URI of a specific resource (eg Processor-2 of Blade-4 in a computer blade system). Specifically, redfishtool provides the following functions over curl:

 * implements Redfish Session Authentication as well as HTTP Basic Auth
 * walks the Redfish schema following strict interoperpbility processors...]
   to find the targeted instance based on Id, UUID, URL or other
 * handles GETs for collections that are returned in multiple pieces-requiring
   client to read in a loop until the full collection is returned
 * handles ETag and If-Match headers when PATCHing a resource to write
 * implements many common set or action operations with simple commandline
   syntax (eg server reset, setting LEDs, assetTag, powerLimits, etc)
 * negotiates the latest redfish protocol version between client and service
   (demonstrating the proper way to do this)
 * can read specific properties of a resource, or expand collections to
   include all members of the collection expanded
 * supports adding and deleting users, and common Redfish account service
 * For debug, provides multiple levels of verbose output to add descriptive
   headers, and show what HTTP requests are being executed
 * For debug, includes multiple levels of status display showing HTTP status
   codes and headers returned and sent
 * For easy parsing, outputs all responses in JSON format unless verbose or
   status debug options were specified

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install redfishtool