Jump to: navigation, search

Difference between revisions of "Ironic/Drivers"

 
(55 intermediate revisions by 19 users not shown)
Line 1: Line 1:
 +
== This information is out of date. Please see https://docs.openstack.org/ironic/latest/admin/drivers.html==
 +
 
== Drivers ==
 
== Drivers ==
  
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 [http://docs.openstack.org/developer/ironic/dev/architecture.html#drivers system architecture] description.
+
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. Drivers are composed from ''hardware types'' and "hardware interfaces".
 
+
* [https://docs.openstack.org/ironic/latest/install/enabling-drivers.html Installation: enabling hardware types and interfaces]
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.
+
* [https://docs.openstack.org/ironic/latest/admin/drivers.html Available hardware types and interfaces]
 
+
* [https://docs.openstack.org/ironic/latest/contributor/drivers.html#writing-a-hardware-type Writing a new hardware type]
Out-of-tree drivers are supported by Ironic and may be loaded via python entrypoints.
 
 
 
The table below describes the CI test coverage of the drivers present in Ironic's tree upstream.
 
 
 
Note that drivers are composed of more than one interface (eg, power and deploy). Not all combinations of interfaces are necessarily tested, but we are striving to get test coverage for each interface in at least one driver.
 
 
 
 
 
 
 
{| class="wikitable"
 
|-
 
! Interface Type !! Interface Name !! Test coverage provided by driver name
 
|-
 
| deploy || agent || Used in production for Rackspace OnMetal, lacks upstream CI
 
|-
 
| deploy || pxe || pxe_ssh
 
|-
 
| power || drac || None
 
|-
 
| power || ilo || None
 
|-
 
| power || ipminative || pxe_ipminative (provided by ibm-xcat-ci)
 
|-
 
| power || ipmitool || ** most widely used power driver in production, but lacks upstream CI
 
|-
 
| power || seamicro || None
 
|-
 
| power || snmp || None
 
|-
 
| power || ssh || pxe_ssh
 
|-
 
|}
 
 
 
 
 
  
  
{| class="wikitable"
+
Every supported driver is covered either by the standard CI or by a [https://wiki.openstack.org/wiki/ThirdPartySystems Third Party CI]. The [https://github.com/openstack/ironic-staging-drivers ironic-staging-drivers project] hosts a few drivers that are '''unsupported by the community'''.
|-
 
! Driver Name !! Primary Contact Email and IRC handle !! Testing Status
 
|-
 
| pxe_ssh || devananda (devananda dot vdv at gmail) || tested in the upstream gate
 
|-
 
| pxe_ipminative || linggao (linggao at us dot ibm dot com) || Third-party CI: "ibm-xcat-ci" <xcat@cn.ibm.com>
 
|-
 
| pxe_ipmitool || devananda (devananda dot vdv at gmail) || used by TripleO, but not CI tested
 
|-
 
|}
 

Latest revision as of 16:50, 30 September 2021

This information is out of date. Please see https://docs.openstack.org/ironic/latest/admin/drivers.html

Drivers

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. Drivers are composed from hardware types and "hardware interfaces".


Every supported driver is covered either by the standard CI or by a Third Party CI. The ironic-staging-drivers project hosts a few drivers that are unsupported by the community.