4dfde43b25
Change-Id: I932157f80f58d17ce66df60fde31bb812f74d05f
89 lines
3.3 KiB
YAML
89 lines
3.3 KiB
YAML
---
|
|
features:
|
|
- |
|
|
Adds support for dynamic drivers. Using a dynamic driver in a node's
|
|
``driver`` field is now possible. Dynamic drivers are composed of a
|
|
``hardware type`` and a number of ``hardware interfaces``.
|
|
|
|
NOTE: this feature is considered somewhat experimental, as not all classic
|
|
drivers have a corresponding dynamic driver, and there is minimal CI
|
|
for dynamic drivers at the time of this writing.
|
|
|
|
Hardware types are enabled via the ``[DEFAULT]/enabled_hardware_types``
|
|
configuration option, and hardware interfaces are enabled via the
|
|
``[DEFAULT]/enabled_*_interfaces`` configuration option. A default
|
|
interface to use when creating or updating nodes can be specified with the
|
|
``[DEFAULT]/default_*_interface`` configuration option.
|
|
|
|
The ironic-conductor process will now fail to start if:
|
|
|
|
- a default interface implementation for any enabled hardware type cannot
|
|
be found.
|
|
- a dynamic driver and a classic driver with the same name are both
|
|
enabled.
|
|
- at least one classic driver *or* one dynamic driver is not enabled.
|
|
|
|
Hardware types available in this release are:
|
|
|
|
- ``ipmi`` for IPMI-compatible hardware. This type is enabled by default.
|
|
Uses the ``ipmitool`` utility under the hood, similar to existing classic
|
|
drivers ``pxe_ipmitool`` and ``agent_ipmitool``. Supports both types of
|
|
serial console: via ``shellinabox`` and via ``socat``, both are disabled
|
|
by default.
|
|
|
|
- ``irmc`` for FUJITSU PRIMERGY servers, disabled by default.
|
|
|
|
This feature has a number of REST API changes, all of which are available
|
|
in API version 1.31.
|
|
|
|
- Adds additional parameters and response fields for GET /v1/drivers and
|
|
GET /v1/drivers/<name>.
|
|
|
|
- Exposes the following fields on the node resource, to allow getting and
|
|
setting interfaces for a dynamic driver:
|
|
|
|
* boot_interface
|
|
* console_interface
|
|
* deploy_interface
|
|
* inspect_interface
|
|
* management_interface
|
|
* power_interface
|
|
* raid_interface
|
|
* vendor_interface
|
|
|
|
- Allows dynamic drivers to be used and returned in the following
|
|
API calls, in all versions of the REST API:
|
|
|
|
* GET /v1/drivers
|
|
* GET /v1/drivers/<name>
|
|
* GET /v1/drivers/<name>/properties
|
|
* GET /v1/drivers/<name>/vendor_passthru/methods
|
|
* GET/POST /v1/drivers/<name>/vendor_passthru
|
|
* GET/POST /v1/nodes/<id>/vendor_passthru
|
|
|
|
For more details on the REST API changes, see the `REST API Version History
|
|
documentation
|
|
<http://docs.openstack.org/developer/ironic/dev/webapi-version-history.html>`_.
|
|
|
|
This also adds dynamic interface fields to node-related notifications:
|
|
|
|
* boot_interface
|
|
* console_interface
|
|
* deploy_interface
|
|
* inspect_interface
|
|
* management_interface
|
|
* power_interface
|
|
* raid_interface
|
|
* vendor_interface
|
|
|
|
The affected notifications are:
|
|
|
|
* baremetal.node.create.*, new payload version 1.1
|
|
* baremetal.node.update.*, new payload version 1.1
|
|
* baremetal.node.delete.*, new payload version 1.1
|
|
* baremetal.node.maintenance.*, new payload version 1.3
|
|
* baremetal.node.console.*, new payload version 1.3
|
|
* baremetal.node.power_set.*, new payload version 1.3
|
|
* baremetal.node.power_state_corrected.*, new payload version 1.3
|
|
* baremetal.node.provision_set.*, new payload version 1.3
|