Web lists-archives.com

Bug#927248: ITP: redfishtool -- redfish command-line client




Package: wnpp
Severity: wishlist
Owner: Thomas Goirand <zigo@xxxxxxxxxx>

* Package name    : redfishtool
  Version         : 1.0.8
  Upstream Author : DMTF, https://www.dmtf.org/standards/feedback
* URL             : https://github.com/DMTF/Redfishtool
* License         : BSD-3-clause
  Programming Lang: Python
  Description     : 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 find the targeted instance based on Id, UUID, URL or other
    attributes
  * 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
    properties
  * 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
    operations
  * 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