---
features:
  - |
    Adds a new ``ansible`` deploy interface. It targets mostly undercloud
    use-case by allowing greater customization of provisioning process.

    This new deploy interface is usable only with hardware types.
    It is set as supported for a ``generic`` hardware type and all
    its subclasses, but must be explicitly enabled in the
    ``[DEFAULT]enabled_deploy_interfaces`` configuration file option
    to actually allow setting nodes to use it.

    For migration from the ``staging-ansible`` interface from the
    ``ironic-staging-drivers`` project to this ``ansible`` interface,
    operators have to consider the following differences:

    - Callback-less operation is not supported.
    - Node's ``driver_info`` fields ``ansible_deploy_username`` and
      ``ansible_deploy_key_file`` are deprecated and will be removed
      in the Rocky release. Instead, please use ``ansible_username`` and
      ``ansible_key_file`` respectively.
    - Base path for playbooks can be defined in the node's
      ``driver_info['ansible_playbooks_path']`` field. The default is the value
      of the ``[ansible]/playbooks_path`` option from the ironic configuration
      file.
    - Default playbooks for actions and cleaning steps file can be set in
      ironic configuration file as various ``[ansible]/default_*`` options.
