Hi, I am new to Redfish, and I work for a company that wants to implement Redfish on some of their devices. The question is, once it is implemented, is there some kind of procedure you need to do to check if the implementation is valid and receive some sort of certificate from someone? I have already seen the scripts in the Github repository.
There is no official "Redfish Certification" provided by DMTF, but we do have some tools we encourage folks to use as part of their validation process.
There are two tools to start with:
Redfish Protocol Validator: github.com/DMTF/Redfish-Protocol-Validator. This tool does verification of the protocol itself to ensure it meets the requirements in the Redfish Specification (DSP0266). Some examples include testing HTTP headers, response codes, and HTTP method semantics.
Redfish Service Validator: github.com/DMTF/Redfish-Service-Validator. This tool performs payload inspection of all resources on the service and ensures they conform to the data model definitions found in the Redfish Schema Bundle (DSP8010).
There are some other tools to be aware of:
Redfish Interop Validator: github.com/DMTF/Redfish-Interop-Validator. This tool performs payload inspection and tests the responses based on a profile that is defined by the Redfish Interoperability Profile Specification (DSP0272). The vast majority of the Redfish data model is optional, so profiles are used by other organizations and end users as a method to dictate which resources and properties in the data model are required for their specific usage.
Redfish Usecase Checkers: github.com/DMTF/Redfish-Usecase-Checkers. This project contains sets of scripts that walk through common management workflows to ensure that the steps involved behave as expected. This still requires quite a bit of polishing and growth, but it has some useful workflows for how clients perform multi-step operations with services.
The DMTF Redfish Forum specifies the Redfish interface and schema and enabling other manageability domains where Redfish can be used. Redfish relies on working bodies in those domains to prescribe the manageability needed by their community. Redfish created the Interoperability Profile for these domains to document their prescription in a machine readable format (JSON). These Profiles can be read by the Redfish Interop Validator which auto-generates tests that are executed against an implementation.