Servers, NICs, Disks, ...) ◦ Multiple interfaces, data sources, standards (eg. IPMI, Redfish, FRU specification) ◦ Several tools and dependencies (ipmitool, racadm, ilorest, sum, ...) ◦ Complex integration, automation, maintenance, ... ◦ Impact on production process efficiency → We need to rely on simpler and more interoperable vendors Hardware Management Systems
Implications • OS compatibility issues • Long-term support constraints • For each new tool to be integrated, full functional validation is required Statements • Scaleway 15 different tools only dedicated to interact with BMCs (including OEM and generic tools) • Some tools can only be used in-band, while others only work out-of-band 1 Implement Redfish Services 2 Use unified, interoperable, modern standard-based tools (eg. generic Redfish client) 3 Provide tools that can be used both in-band and out-of-band Best practices
• Excessive use of OEM Redfish endpoints • Partial Redfish implementation (missing features) • Wrong Redfish implementation (inconsistency with standard schemas) Implications • Excessive use of OEM schemas → too different vendor Redfish API implementations • Partial Redfish → Forced to use alternative tools → increased number of tools (eg. Challenge n°1 • Inconsistency with Redfish schema → generic Redfish tools fail 1 Stick as much as possible to standard specifications 2 Use official DMTF conformance tools(*) to validate Redfish services 3 Rely on reference open source Redfish implementations (eg. OpenBMC) to avoid discrepancies Best practices (*) https://github.com/DMTF/Redfish-Interop-Validator https://github.com/DMTF/Redfish-Service-Validator https://github.com/DMTF/Redfish-JsonSchema-ResponseValidator https://github.com/DMTF/Redfish-Protocol-Validator
Statements Too many tools (cf. challenge n°1 Discrepancies wrt to standards specification (cf. challenge n°2 OpenBMC is not being adopted fast enough by vendors Rely on OpenBMC Option 1: Closed-source OpenBMC-based FW 😀 FW should inherit a best of breed, full Redfish implementation 😀 discrepancy with other OpenBMC-based APIs should be minimal 😞 no customization possibilities Option 2 (preferred): Open-source OpenBMC-based FW 😀 same pros than previous solution 😀 possibility to expand/customize the FW 😀 inhouse troubleshooting and bug fixes 😞 may need to handle transfer of ownership on customer side Implications Big impact on integration and maintenance complexity and production efficiency Best practices
rely as much as possible on standard tools + use Redfish Challenge 2 - Mismatching Redfish implementation minimize OEM usage + use OpenBMC Challenge 3 - Need more OpenBMC-based FW stacks 2 possible release models: ➢ proprietary/closed source ➢ open source (preferred)