Ironic supports pluggable back-end drivers for different types of hardware to enable features specific to unique hardware platforms and leverage divergent capabilities via a common API . This API is divided into three sections: core, common, and vendor. While authors of vendor drivers may break new ground in the designated "vendor_passthru" section of the API, they are strongly encouraged to converge on a common API across vendors. More details may be found under the system architecture description.
Hardware drivers must undergo CI testing so as to ensure their continued functionality. Some drivers will be tested upstream, while many will require third-party CI testing due to the unique nature of their hardware (and the unmanageable complexity were a single team required to maintain a test infrastructure encompassing hardware from many diverse vendors). Guidelines on that testing can be found on the Ironic/Testing wiki page.
Out-of-tree drivers are supported by Ironic and may be loaded via python entrypionts.
The table below describes the CI test coverage of the drivers present in Ironic's tree upstream.
|Driver Name and Module||Primary Contact||Testing Status|
|pxe_ssh||PTL / devananda||upstream CI tested|
|pxe_ipmitool||PTL / devananda||No CI testing, but TripleO is using this.|