======
ironic
======

.. _ironic_12.1.0-84:

12.1.0-84
=========

.. _ironic_12.1.0-84_New Features:

New Features
------------

.. releasenotes/notes/add-protection-for-available-nodes-25f163d69782ef63.yaml @ b'73845b3655101efb2511e8bc61c5e7f9f866c8b2'

- Adds option 'allow_deleting_available_nodes' to control whether nodes in state 'available' should be deletable (which is and stays the default). Setting this option to False will remove 'available' from the list of states in which nodes can be deleted from ironic. It hence provides protection against accidental removal of nodes which are ready for allocation (and is meant as a safeguard for the operational effort to bring nodes into this state). For backwards compatibility reasons, the default value for this option is True. The other states in which nodes can be deleted from ironic ('manageable', 'enroll', and 'adoptfail') remain unchanged. This option can be changed without service restart.

.. releasenotes/notes/add-realtime-support-d814d5917836e9e2.yaml @ b'3a54fe3e8559405a6901d23d65d17f50b3fe1ca8'

- Adds capability to hardware type ``idrac`` for creating and
  deleting RAID sets without rebooting the baremetal node.
  This realtime mechanism is supported on PERC H730 and H740
  RAID controllers that are running firmware version 25.5.5.0005
  or later.

.. releasenotes/notes/allocation-backfill-c31e84c5fcf24216.yaml @ b'8f6bf4f9dd3f3e27e0c0cf0fab06601a9904f2f7'

- API version 1.58 allows backfilling allocations for existing deployed nodes
  by providing ``node`` to ``POST /v1/allocations``.

.. releasenotes/notes/allow-allocation-update-94d862c3da454be2.yaml @ b'aec48ca2752127403c4b6f72706d9897cde10ee4'

- Adds REST API endpoint for updating an existing allocation. Only ``name``
  and ``extra`` fields are allowed to be updated.

.. releasenotes/notes/mdns-a5f4034257139e31.yaml @ b'c36a01a43994f7f4a8cb0f44bd0859d41cea83cd'

- A new option ``enable_mdns`` allows to enable publishing the baremetal
  API endpoint via mDNS as specified in the `API SIG guideline
  <http://specs.openstack.org/openstack/api-sig/guidelines/dns-sd.html>`_.

.. releasenotes/notes/send-sensor-data-for-all-nodes-a732d9df43e74318.yaml @ b'68ba345520926bd279d64ff721002a6eebd744f6'

- Adds a ``[conductor]send_sensor_data_for_undeployed_nodes`` option to
  enable ironic to collect and transmit sensor data for all nodes
  for which sensor data collection is available. By default, this option
  is not enabled which aligns with the prior behavior of sensor data
  collection and transmission where such data was only collected
  if an ``instance_uuid`` was present to signify that the node has been or
  is being deployed. With this change set to ``True``, operators may be able
  to identify hardware in a faulty state through the sensor data and take
  action before an instance workload is deployed.

.. releasenotes/notes/smartnic-logic-has-merged-in-neutron-79078280d40f042c.yaml @ b'6ca99d67302d7e1b639ad9b745631e65a4b2f25c'

- The Smart-Nic functionality that was added to the Bare Metal Service
  during the Stein cycle can now be used with a Train version of the
  Networking Service (neutron) as Smart-Nic support merged into
  that project during the Train development cycle.


.. _ironic_12.1.0-84_Upgrade Notes:

Upgrade Notes
-------------

.. releasenotes/notes/add-realtime-support-d814d5917836e9e2.yaml @ b'3a54fe3e8559405a6901d23d65d17f50b3fe1ca8'

- This change requires python-dracclient version 3.0.0 and later.

.. releasenotes/notes/idrac-remove-commit_required-d9ea849e8f5e78e2.yaml @ b'cc10323dbb044c6d2a6b345b665bd23d9487c234'

- ``commit_required`` is no longer present in the dictionary returned by
  the ``set_bios_config`` vendor passthru call in the ``idrac`` hardware
  type.  ``commit_required`` was split into two keys: ``is_commit_required``
  and ``is_reboot_required``, which indicate the actions necessary to
  complete setting the BIOS settings.  ``commit_required`` was removed in
  ``python-dracclient`` version 3.0.0.

.. releasenotes/notes/ilo-remove-deprecated-power-retry-ba29a21f03fe8dbb.yaml @ b'5dd64771db63de8f8bec5ac98eae88ac2df55793'

- Removes deprecated option ``[ilo]/power_retry``. Please use
  ``[conductor]/soft_power_off_timeout`` instead.

.. releasenotes/notes/remove-deprecated-hash_distribution_replicas-08351358eba4c9e1.yaml @ b'e9540f5d22bb733ca0598e3dfdf3b6cb00b9043e'

- The configuration option ``[DEFAULT]/hash_distribution_replicas`` was
  deprecated in the Stein cycle. It has been removed
  and is no longer supported.

.. releasenotes/notes/remove-enabled-drivers-5afcd77b53da1499.yaml @ b'a3634840f453609c58d40f792ff8c8c9b5515eee'

- The configuration option ``[DEFAULT]enabled_drivers`` is removed. The
  option was deprecated in Rocky, and setting this option has raised an
  exception preventing conductor from starting since then.
  ``[DEFAULT]enabled_hardware_types`` should be used instead.


.. _ironic_12.1.0-84_Deprecation Notes:

Deprecation Notes
-----------------

.. releasenotes/notes/use-ironic-lib-exception-4bff237c9667bf46.yaml @ b'f5dbf8ba0cb5c0a292c2f59a5f179760c8571d68'

- The configuration option ``[DEFAULT]/fatal_exception_format_errors`` is now deprecated. Please use the configuration option ``[ironic_lib]/fatal_exception_format_errors`` instead.


.. _ironic_12.1.0-84_Bug Fixes:

Bug Fixes
---------

.. releasenotes/notes/add-neutron-request-timeout-1f7372af81f14ddd.yaml @ b'56bec518b67e3f780cae12956d466d66cb05b7f8'

- Fixes an issue that can occur in CI and in physical deployments where the
  Networking Service performs a pre-flight operation which can exceed
  the prior default for ``30`` seconds. The new default is ``45`` seconds,
  and operators can tune the setting via the ``[neutron]request_timeout``
  setting.

.. releasenotes/notes/bug-2005377-5c63357681a465ec.yaml @ b'9124a4a13855ca763296e8960f000a2bc51e34e7'

- Fixes node last_error and maintenance_reason overflow with too long error messages, preventing the object from being correctly committed to database. The maximum message length can be customized through a new configuration parameter, ``[DEFAULT]/log_in_db_max_size`` (default, 4096 characters).

.. releasenotes/notes/bug-2005764-15f45e11b9f9c96d.yaml @ b'a09a34207c8bc0e396a95167d53f9543cb205b4a'

- Fixes a deployment issue encountered during deployment, more precisely
  during the configdrive partition creation step. On some specific devices
  like NVMe drives, the created configdrive partition could not be correctly
  identified (required to dump data onto it afterward).
  https://storyboard.openstack.org/#!/story/2005764

.. releasenotes/notes/bug-30315-e46eafe5b575f3da.yaml @ b'df5261bb349dd56ac88876e14779d244bdc0beb3'

- Fixes an issue regarding the ``ansible deployment interface`` cleaning
  workflow.
  Handling the error in the driver and returning nothing caused the manager
  to consider the step done and go to the next one instead of interrupting
  the cleaning workflow.

.. releasenotes/notes/bug-30316-8c53358681e464eb.yaml @ b'732bbd851d7439d45405e175674d373fcbe6a952'

- Fixes an issue with the ansible deployment interface where raw images could not be streamed correctly to the host.

.. releasenotes/notes/bug-30317-a972c8d879c98941.yaml @ b'84741e94095e2a7c07ff880a17983e373c28eab0'

- Fixes deployment with the ``ansible`` deploy interface and instance images with GPT partition
  table.

.. releasenotes/notes/debug-sensor-data-fix-for-ipmitool-eb13e80ccdd984db.yaml @ b'418a5668a4c947326f28cf13e962e914ebadc012'

- Fixes an issue where the sensor data parsing method for the ``ipmitool``
  interface lacked the ability to handle the automatically included
  `ipmitool` debugging information when the ``debug`` option is set to
  ``True`` in the ironic.conf file. As such, extra debugging information
  supplied by the underlying ``ipmitool`` command is disregarded.
  More information can be found in
  `story 2005331 <https://storyboard.openstack.org/#!/story/2005332>`_.

.. releasenotes/notes/fix-capabilities-as-string-agent-7c5c7975560ce280.yaml @ b'93a40e3fc7a8187c0444c1aae93a52beb5c68b4b'

- Fixes an issue where deploy fails during node preparation if the
  node ``capabilities`` are passed as string.

.. releasenotes/notes/fix-esp-grub-path-9e5532993dccc07a.yaml @ b'306aebad48133348692d7126d3843c2a231090ba'

- Fixes GRUB configuration file generation procedure when building
  bootable ISO images that include user EFI boot loader image.
  Prior to this fix, no bootable ISO image could be generated unless
  EFI boot loader is extracted from deploy ISO image.

.. releasenotes/notes/fix-sendfile-size-cap-d9966a96e2d7db51.yaml @ b'17a65c89bb1b3c6be559898b251dfce0b00406e1'

- Fixes an issue when the image source is a local file, the image will be
  truncated to 2G and fails deployment due to image corruption.

.. releasenotes/notes/fix-swift-binary-upload-bf9471fca29290e1.yaml @ b'45020712d73a2040bd91b74bb2d1df9b55233ba6'

- Fixes binary files upload to Swift. Prior to this fix, binary file
  upload to Swift might fail at unicode characters interpretation.

.. releasenotes/notes/json-rpc-bind-a0348cc6f5efe812.yaml @ b'18fdc447efe525c8d4edf75a401fbf7580a352ff'

- The internal JSON RPC server now binds to ``::`` by default, allowing it to
  work correctly with IPv6.

.. releasenotes/notes/jsonschema_draft04-1cb5fc4a3852f9ae.yaml @ b'b60975641a82969e45f323c44c983a373825274d'

- This fix binds the jsonschema to use draft-04 for raid schema. The jsonschema 3.0.1 supports draft-03, draft-04, draft-06 and draft-07 and by default the validate function uses latest draft validator. Draft-04 is the latest draft in the jsonschema 2.6. Hence binding the schema to draft-04 validator makes it compliant for both jsonschema 2.6 and jsonschema 3.0.1.

.. releasenotes/notes/send-sensor-data-for-all-nodes-a732d9df43e74318.yaml @ b'68ba345520926bd279d64ff721002a6eebd744f6'

- Fixes an issue where nodes in the process of deployment may have metrics
  data collected and transmitted during the deployment process which
  may erroneously generate alarms depending on the operator's monitoring
  configuration. This was due to a database filter relying upon the
  indicator of an ``instance_uuid`` as opposed to the state of a node.

.. releasenotes/notes/zero-temp-url-c21e208f8933c6f6.yaml @ b'2039138cfe2854b477f06d9185eddbdb264b649f'

- No longer tries to create a temporary URL with zero lifetime if the
  ``deploy_callback_timeout`` option is set to zero. The default of 1800
  seconds is used in that case. Use the new
  ``configdrive_swift_temp_url_duration`` option to override.


.. _ironic_12.1.0-84_Other Notes:

Other Notes
-----------

.. releasenotes/notes/use-ironic-lib-exception-4bff237c9667bf46.yaml @ b'f5dbf8ba0cb5c0a292c2f59a5f179760c8571d68'

- Use the module exception from ironic-lib. Update ironic-lib minimum version required to 2.17.1.

