diff options
author | Jim Rollenhagen <jim@jimrollenhagen.com> | 2017-02-08 16:37:05 -0500 |
---|---|---|
committer | Jim Rollenhagen <jim@jimrollenhagen.com> | 2017-02-13 15:44:00 -0500 |
commit | 4dfde43b2507e4209e0fd1a7f8bc1e20aad19c21 (patch) | |
tree | 1be78803ee1ffe17af01c520662c11460adea540 | |
parent | ba980bda7be8cb669caa4d570a4416a9b063bd0b (diff) | |
download | ironic-4dfde43b2507e4209e0fd1a7f8bc1e20aad19c21.tar.gz |
Clean up release notes for 7.0.0
Change-Id: I932157f80f58d17ce66df60fde31bb812f74d05f
68 files changed, 305 insertions, 385 deletions
diff --git a/releasenotes/notes/add-chassis_uuid-removal-possibility-8b06341a91f7c676.yaml b/releasenotes/notes/add-chassis_uuid-removal-possibility-8b06341a91f7c676.yaml index aaa591e7c..755f9534b 100644 --- a/releasenotes/notes/add-chassis_uuid-removal-possibility-8b06341a91f7c676.yaml +++ b/releasenotes/notes/add-chassis_uuid-removal-possibility-8b06341a91f7c676.yaml @@ -1,4 +1,5 @@ --- features: - Adds support for removing the chassis UUID associated with a node (via - PATCH /v1/nodes/<ident>). This is available starting with API version 1.25. + ``PATCH /v1/nodes/<ident>``). This is available starting with API version + 1.25. diff --git a/releasenotes/notes/add-error-check-ipmitool-reboot-ca7823202c5ab71d.yaml b/releasenotes/notes/add-error-check-ipmitool-reboot-ca7823202c5ab71d.yaml index d5ce622f9..18eeabdf0 100644 --- a/releasenotes/notes/add-error-check-ipmitool-reboot-ca7823202c5ab71d.yaml +++ b/releasenotes/notes/add-error-check-ipmitool-reboot-ca7823202c5ab71d.yaml @@ -1,4 +1,4 @@ --- fixes: - - adds a missing error check into ipmitool power driver's reboot so - that the reboot can fail properly if power off failed. + - Adds a missing error check into ``ipmitool`` power driver's reboot method + so that the reboot can fail properly if power off failed. diff --git a/releasenotes/notes/add-portgroup-config-fields-cd21e35e9c210733.yaml b/releasenotes/notes/add-portgroup-config-fields-cd21e35e9c210733.yaml deleted file mode 100644 index 578b114d9..000000000 --- a/releasenotes/notes/add-portgroup-config-fields-cd21e35e9c210733.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -features: - - Adds ``mode`` and ``properties`` fields in the portgroup object. Both of - them are optional and can be set from the API, though it is forbidden to - remove the ``mode`` from the portgroup. They are available starting with - API microversion 1.26. If the ``mode`` field of a portgroup is not - specified in a POST request, its value will be set to the value of the - configuration option ``[DEFAULT]default_portgroup_mode``. The configuration - option ``[DEFAULT]default_portgroup_mode`` has a value of ``active-backup`` - by default. -fixes: - - | - ``address`` field of a portgroup is optional for all API microversions. diff --git a/releasenotes/notes/add-portgroups-subcontroller-9039f59bcf48b3e0.yaml b/releasenotes/notes/add-portgroups-subcontroller-9039f59bcf48b3e0.yaml deleted file mode 100644 index 63394e0aa..000000000 --- a/releasenotes/notes/add-portgroups-subcontroller-9039f59bcf48b3e0.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -features: - - | - Adds, starting with REST API version 1.24: - - * the new endpoint `v1/nodes/<node>/portgroups`; - * the new endpoint `v1/portgroups/<portgroup>/ports`; - * the new field `portgroup_uuid` to a port. This is the UUID - of a port group that this port belongs to, or None if it doesn't - belong to any port group. diff --git a/releasenotes/notes/add-vif-attach-detach-support-99eca43eea6e5a30.yaml b/releasenotes/notes/add-vif-attach-detach-support-99eca43eea6e5a30.yaml index ac3f2efe9..de2d292b1 100644 --- a/releasenotes/notes/add-vif-attach-detach-support-99eca43eea6e5a30.yaml +++ b/releasenotes/notes/add-vif-attach-detach-support-99eca43eea6e5a30.yaml @@ -1,8 +1,15 @@ --- features: - - Adds support of attaching/detaching network VIFs - to ironic ports by using ``v1/nodes/<node>/vifs`` + - Adds support for attaching and detaching network VIFs + to ironic ports and port groups by using the ``/v1/nodes/<node>/vifs`` API endpoint that was added in API version 1.28. + When attaching a VIF to a node, it is attached to the first free port + group. A port group is considered free if it has no VIFs attached to any of + its ports. Otherwise, only the unattached ports of this port group are + available for attachment. If there are no free port groups, the first + available port is used instead, where ports with ``pxe_enabled`` set to + ``True`` have higher priority. deprecations: - - Using port.extra['vif_port_id'] for attaching/detaching - VIFs to ports is deprecated and will be removed in Pike release. + - Using ``port.extra['vif_port_id']`` for attaching and detaching + VIFs to ports or port groups is deprecated and will be removed in Pike + release. diff --git a/releasenotes/notes/add_portgroup_support-7d5c6663bb00684a.yaml b/releasenotes/notes/add_portgroup_support-7d5c6663bb00684a.yaml index b1fcc4324..8d1549601 100644 --- a/releasenotes/notes/add_portgroup_support-7d5c6663bb00684a.yaml +++ b/releasenotes/notes/add_portgroup_support-7d5c6663bb00684a.yaml @@ -1,6 +1,21 @@ --- features: - | - Adds support for portgroups with a new endpoint `/v1/portgroups/` - in the REST API version 1.23. Ports can be combined into - portgroups to support static LAG and MLAG configurations. + Adds support for port groups with a new endpoint ``/v1/portgroups/``. + Ports can be combined into port groups to support static Link Aggregation + Group (LAG) and Multi-Chassis LAG (MLAG) configurations. + + Note that if the optional ``mode`` field for a port group is not specified, + its value will be set to the value of the configuration option + ``[DEFAULT]default_portgroup_mode``, which defaults to ``active-backup``. + + Additionally, adds the following API changes: + + * a new endpoint ``/v1/nodes/<node>/portgroups``. + * a new endpoint ``/v1/portgroups/<portgroup>/ports``. + * a new field ``portgroup_uuid`` on the port object. This is the UUID + of a port group that this port belongs to, or None if it does not + belong to any port group. + + All port group API functions are available starting with version 1.26 of + the REST API. diff --git a/releasenotes/notes/add_standalone_ports_supported_field-4c59702a052acf38.yaml b/releasenotes/notes/add_standalone_ports_supported_field-4c59702a052acf38.yaml index d92b6d84c..b32e3bf1c 100644 --- a/releasenotes/notes/add_standalone_ports_supported_field-4c59702a052acf38.yaml +++ b/releasenotes/notes/add_standalone_ports_supported_field-4c59702a052acf38.yaml @@ -1,6 +1,6 @@ --- features: - Add the field `standalone_ports_supported` to the - portgroup object. This field indicates whether - ports that are members of this portgroup can be - used as stand-alone ports. The default is True. + port group object. This field indicates whether + ports that are members of this port group can be + used as stand-alone ports. The default is ``True``. diff --git a/releasenotes/notes/agent-takeover-60f27cef21ebfb48.yaml b/releasenotes/notes/agent-takeover-60f27cef21ebfb48.yaml index 39557005d..21421d3e8 100644 --- a/releasenotes/notes/agent-takeover-60f27cef21ebfb48.yaml +++ b/releasenotes/notes/agent-takeover-60f27cef21ebfb48.yaml @@ -1,3 +1,4 @@ --- fixes: - - AgentDeploy now correctly supports take-over for ACTIVE netboot-ed nodes. + - Drivers using the ``AgentDeploy`` interface now correctly support take-over + for ``ACTIVE`` netboot-ed nodes. diff --git a/releasenotes/notes/allow-attach-vif-to-portgroup-ce24b72632ec5772.yaml b/releasenotes/notes/allow-attach-vif-to-portgroup-ce24b72632ec5772.yaml deleted file mode 100644 index 6a1d19457..000000000 --- a/releasenotes/notes/allow-attach-vif-to-portgroup-ce24b72632ec5772.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -features: - - Enables port group usage when attaching/detaching VIFs. - When attaching a VIF to a node, it is attached to the first free port - group. Port group is considered free if it has no VIFs attached to any of - its ports. Otherwise, only the unattached ports of this portgroup are - available for attachment. If there are no free port groups, the first - available port (pxe_enabled has higher priority) is used instead. -deprecations: - - Using portgroup.extra['vif_port_id'] for attaching/detaching - VIFs to port groups is deprecated and will be removed in Pike release. diff --git a/releasenotes/notes/bug-1607527-75885e145db62d69.yaml b/releasenotes/notes/bug-1607527-75885e145db62d69.yaml index ba52d09f3..ccd90741e 100644 --- a/releasenotes/notes/bug-1607527-75885e145db62d69.yaml +++ b/releasenotes/notes/bug-1607527-75885e145db62d69.yaml @@ -1,4 +1,4 @@ --- fixes: - - Fixes bug where the user tries to configure the ssh power driver using a - private key protected by a passphrase. + - Fixes SSH driver validation when using a private key with a passphrase for + authentication. diff --git a/releasenotes/notes/bug-1626453-e8df46aa5db6dd5a.yaml b/releasenotes/notes/bug-1626453-e8df46aa5db6dd5a.yaml index 70ac590ae..a0be7073c 100644 --- a/releasenotes/notes/bug-1626453-e8df46aa5db6dd5a.yaml +++ b/releasenotes/notes/bug-1626453-e8df46aa5db6dd5a.yaml @@ -1,5 +1,5 @@ --- fixes: - - This fixes the issue setting persistent boot device does not work - with ipmi_force_boot_device=True. For more information, see - https://bugs.launchpad.net/ironic/+bug/1626453 + - Fixes an issue where setting a boot device as persistent does not work when + ``ipmi_force_boot_device`` is set to ``True``. For more information, see + https://bugs.launchpad.net/ironic/+bug/1626453. diff --git a/releasenotes/notes/bug-1648387-92db52cbe007fabd.yaml b/releasenotes/notes/bug-1648387-92db52cbe007fabd.yaml index 9d3ba1b1b..516eaa345 100644 --- a/releasenotes/notes/bug-1648387-92db52cbe007fabd.yaml +++ b/releasenotes/notes/bug-1648387-92db52cbe007fabd.yaml @@ -1,4 +1,4 @@ --- fixes: - - Fixes the issue that API service does not start if audit is enabled with - default value of "ignore_req_list" config option. + - Fixes an issue where the API service does not start if audit is enabled + with the default value of ``[audit]/ignore_req_list`` configuration option. diff --git a/releasenotes/notes/build_instance_info-c7e3f12426b48965.yaml b/releasenotes/notes/build_instance_info-c7e3f12426b48965.yaml index 5ebc18534..0b02b19eb 100644 --- a/releasenotes/notes/build_instance_info-c7e3f12426b48965.yaml +++ b/releasenotes/notes/build_instance_info-c7e3f12426b48965.yaml @@ -1,6 +1,6 @@ --- deprecations: - - The function build_instance_info_for_deploy() is deprecated from - ironic.drivers.modules.agent and will be removed in the Pike cycle. - Its new home is ironic.drivers.modules.deploy_utils. Out-of-tree + - The function ``build_instance_info_for_deploy`` is deprecated from + ``ironic.drivers.modules.agent`` and will be removed in the Pike cycle. + Its new home is ``ironic.drivers.modules.deploy_utils``. Out-of-tree drivers that use this function should be updated accordingly. diff --git a/releasenotes/notes/change-updated-at-object-field-a74466f7c4541072.yaml b/releasenotes/notes/change-updated-at-object-field-a74466f7c4541072.yaml index 7e0878292..fdd43f6ba 100644 --- a/releasenotes/notes/change-updated-at-object-field-a74466f7c4541072.yaml +++ b/releasenotes/notes/change-updated-at-object-field-a74466f7c4541072.yaml @@ -1,4 +1,4 @@ --- fixes: - - Set correct node's "updated_at" field after - node has been updated. + - Now sets node's ``updated_at`` field correctly after a node has been + updated. diff --git a/releasenotes/notes/check-for-whole-disk-image-uefi-3bf2146588de2423.yaml b/releasenotes/notes/check-for-whole-disk-image-uefi-3bf2146588de2423.yaml index 40c64905f..3eb1d33cd 100644 --- a/releasenotes/notes/check-for-whole-disk-image-uefi-3bf2146588de2423.yaml +++ b/releasenotes/notes/check-for-whole-disk-image-uefi-3bf2146588de2423.yaml @@ -1,6 +1,6 @@ --- fixes: - - Remove a check that was preventing whole disk images to be deployed - in UEFI mode without explicitly setting the boot_option capability to - "local". For whole disk images Ironic already assumes booting from - the hard-drive by default. + - Removes a check that was preventing whole disk images from being deployed + in UEFI mode without explicitly setting the ``boot_option`` capability to + ``local``. For whole disk images, ironic already assumes booting from + local storage by default. diff --git a/releasenotes/notes/check_protocol_for_ironic_api-32f35c93a140d3ae.yaml b/releasenotes/notes/check_protocol_for_ironic_api-32f35c93a140d3ae.yaml index 4c9f6e4c7..7adfb4b1e 100644 --- a/releasenotes/notes/check_protocol_for_ironic_api-32f35c93a140d3ae.yaml +++ b/releasenotes/notes/check_protocol_for_ironic_api-32f35c93a140d3ae.yaml @@ -1,8 +1,8 @@ --- fixes: - - Accepting ``[conductor]/api_url`` value specified in the configuration - file that does not start with either ``https://`` or ``http://``. - Such value leads to deployment failure on ironic-python-agent side. - This misconfiguration will be detected during ironic-conductor - and ironic-api start. An exception will be raised and an error about - the invalid value will be logged. + - A ``[conductor]/api_url`` value specified in the configuration file that + does not start with either ``https://`` or ``http://`` is no longer + allowed. An incorrect value led to deployment failure on + ironic-python-agent side. This misconfiguration will now be detected during + ironic-conductor and ironic-api startup. An exception will be raised and an + error about the invalid value will be logged. diff --git a/releasenotes/notes/cleanup-provision-ports-before-retry-ec3c89c193766d70.yaml b/releasenotes/notes/cleanup-provision-ports-before-retry-ec3c89c193766d70.yaml index 0c20ed0c2..171465fd8 100644 --- a/releasenotes/notes/cleanup-provision-ports-before-retry-ec3c89c193766d70.yaml +++ b/releasenotes/notes/cleanup-provision-ports-before-retry-ec3c89c193766d70.yaml @@ -1,6 +1,6 @@ --- fixes: - - Fixes an issue with neutron network interface, that could lead - to inability to retry the deployment in case of failure on - boot interface's prepare_ramdisk stage. + - Fixes an issue with the ``neutron`` network interface that could lead to an + inability to retry the deployment in case of failure on boot interface's + ``prepare_ramdisk`` stage. diff --git a/releasenotes/notes/conductor-startup-invalid-defaults-b7bd0589a3bf474b.yaml b/releasenotes/notes/conductor-startup-invalid-defaults-b7bd0589a3bf474b.yaml deleted file mode 100644 index 195b90fbd..000000000 --- a/releasenotes/notes/conductor-startup-invalid-defaults-b7bd0589a3bf474b.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -upgrade: - - The conductor will now fail to start up if invalid configuration is - provided, such that a default interface implementation for any enabled - hardware type cannot be found. diff --git a/releasenotes/notes/conf-debug-ipa-1d75e2283ca83395.yaml b/releasenotes/notes/conf-debug-ipa-1d75e2283ca83395.yaml index b34da3bd4..0dfe81f3e 100644 --- a/releasenotes/notes/conf-debug-ipa-1d75e2283ca83395.yaml +++ b/releasenotes/notes/conf-debug-ipa-1d75e2283ca83395.yaml @@ -3,4 +3,4 @@ upgrade: - The ``[DEFAULT]/debug`` configuration option now also enables debug logs for the ``ironic-python-agent`` ramdisk. If the ``ipa-debug`` kernel option is already present in the ``[pxe]/pxe_append_params`` - configuration option Ironic will not overwrite it. + configuration option, ironic will not overwrite it. diff --git a/releasenotes/notes/context-domain-id-name-deprecation-ae6e40718273be8d.yaml b/releasenotes/notes/context-domain-id-name-deprecation-ae6e40718273be8d.yaml index 9a8aa7b65..09ad939c2 100644 --- a/releasenotes/notes/context-domain-id-name-deprecation-ae6e40718273be8d.yaml +++ b/releasenotes/notes/context-domain-id-name-deprecation-ae6e40718273be8d.yaml @@ -3,8 +3,8 @@ deprecations: - | Usage of the following values was deprecated in the policy files: - - domain_id and domain_name - user_domain_id should be used - instead of those (note - user_domain is an ID of the domain, - not its name); - - tenant - project_name should be used instead; - - user - user_id should be used instead. + - ``domain_id`` and ``domain_name`` - ``user_domain_id`` should be used + instead of those (note - ``user_domain_id`` is an ID of the domain, + not its name). + - ``tenant`` - ``project_name`` should be used instead. + - ``user`` - ``user_id`` should be used instead. diff --git a/releasenotes/notes/create-on-conductor-c1c52a1f022c4048.yaml b/releasenotes/notes/create-on-conductor-c1c52a1f022c4048.yaml index 82d02642a..ca338faf3 100644 --- a/releasenotes/notes/create-on-conductor-c1c52a1f022c4048.yaml +++ b/releasenotes/notes/create-on-conductor-c1c52a1f022c4048.yaml @@ -1,11 +1,11 @@ --- upgrade: - - In this release node creation logic was moved from the API service to - the conductor service. This is more consistent with other node operations - and opens opportunities for conductor-side validations on nodes. - However, with this change, node creation may take longer, and this may - limit the number of nodes that can be enrolled in parallel. - - The "[DEFAULT]default_network_interface" and "[dhcp]dhcp_provider" + - Moves node creation logic from the API service to the conductor service. + This is more consistent with other node operations and opens opportunities + for conductor-side validations on nodes. However, with this change, node + creation may take longer, and this may limit the number of nodes that can + be enrolled in parallel. + - The ``[DEFAULT]/default_network_interface`` and ``[dhcp]/dhcp_provider`` configuration options were previously required for the ironic-api service to calculate the correct "network_interface" default. Now these options - are only read by the ironic-conductor service. + are only required by the ironic-conductor service. diff --git a/releasenotes/notes/default_boot_option-f22c01f976bc2de7.yaml b/releasenotes/notes/default_boot_option-f22c01f976bc2de7.yaml index c0e430fd9..60b3b3235 100644 --- a/releasenotes/notes/default_boot_option-f22c01f976bc2de7.yaml +++ b/releasenotes/notes/default_boot_option-f22c01f976bc2de7.yaml @@ -1,8 +1,9 @@ --- features: - - Adds new option "[deploy]/default_boot_option" for setting the default + - Adds new option ``[deploy]/default_boot_option`` for setting the default boot option when no explicit boot option is requested via capabilities. upgrade: - - We are going to change the default value of "[deploy]/default_boot_option" - from "netboot" to "local" eventually. To avoid disruptions, it is - recommended to an explicit value to this option. + - A future release will change the default value of + ``[deploy]/default_boot_option`` from "netboot" to "local". To + avoid disruptions, it is recommended to set an explicit value for this + option. diff --git a/releasenotes/notes/deprecate-dhcp-update-mac-address-f12a4959432c8e20.yaml b/releasenotes/notes/deprecate-dhcp-update-mac-address-f12a4959432c8e20.yaml index 32c39a9e9..b2f5f1768 100644 --- a/releasenotes/notes/deprecate-dhcp-update-mac-address-f12a4959432c8e20.yaml +++ b/releasenotes/notes/deprecate-dhcp-update-mac-address-f12a4959432c8e20.yaml @@ -1,25 +1,25 @@ --- features: - | - Adds new methods to network interfaces, they will become + Adds new methods to network interfaces, which will become mandatory in Pike release: - * ``vif_list`` - List attached VIF IDs for a node - * ``vif_attach`` - Attach a virtual network interface to a node - * ``vif_detach`` - Detach a virtual network interface from a node - * ``port_changed`` - Handle any actions required when a port - changes - * ``portgroup_changed`` - Handle any actions required when a - portgroup changes - * ``get_current_vif`` - Return VIF ID attached to port or portgroup + * ``vif_list``: List attached VIF IDs for a node. + * ``vif_attach``: Attach a virtual network interface to a node. + * ``vif_detach``: Detach a virtual network interface from a node. + * ``port_changed``: Handle any actions required when a port + changes. + * ``portgroup_changed``: Handle any actions required when a + port group changes. + * ``get_current_vif``: Return VIF ID attached to port or port group object. deprecations: - | - ``update_mac_address`` method in DHCP providers is + ``update_mac_address`` method in the DHCP provider interface is deprecated and will be removed in the Pike release. The logic should be moved to a custom network - interface's ``port_changed`` and ``portgroup_changed``. + interface's ``port_changed`` and ``portgroup_changed`` methods. fixes: - | - An issue when pre-created tenant port was automatically - deleted by Ironic on instance delete. + Fixes an issue where a pre-created tenant port was automatically + deleted by ironic on instance delete. diff --git a/releasenotes/notes/dynamic-allocation-spt-has-physical-mac-8967a1d926ed9301.yaml b/releasenotes/notes/dynamic-allocation-spt-has-physical-mac-8967a1d926ed9301.yaml index c28b834dd..b94ccac13 100644 --- a/releasenotes/notes/dynamic-allocation-spt-has-physical-mac-8967a1d926ed9301.yaml +++ b/releasenotes/notes/dynamic-allocation-spt-has-physical-mac-8967a1d926ed9301.yaml @@ -1,6 +1,6 @@ --- upgrade: - - Minimum required version of python-oneviewclient bumped to 2.5.2 + - The minimum version of python-oneviewclient is now 2.5.2. fixes: - A validation step is added to verify that the Server Profile Template's MAC type is set to Physical when dynamic allocation diff --git a/releasenotes/notes/dynamic-driver-conductor-startup-validation-2d56d6ebe748a6bb.yaml b/releasenotes/notes/dynamic-driver-conductor-startup-validation-2d56d6ebe748a6bb.yaml deleted file mode 100644 index 13873df4e..000000000 --- a/releasenotes/notes/dynamic-driver-conductor-startup-validation-2d56d6ebe748a6bb.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -features: - - The conductor process no longer requires at least one classic driver - to start. Instead, it requires at least one classic driver *or* at least - one dynamic driver. -upgrade: - - The conductor process will refuse to start if a dynamic driver and - a classic driver with the same name are both enabled. diff --git a/releasenotes/notes/dynamic-driver-list-show-apis-235e9fca26fc580d.yaml b/releasenotes/notes/dynamic-driver-list-show-apis-235e9fca26fc580d.yaml index cf0c23046..aa0af9e5f 100644 --- a/releasenotes/notes/dynamic-driver-list-show-apis-235e9fca26fc580d.yaml +++ b/releasenotes/notes/dynamic-driver-list-show-apis-235e9fca26fc580d.yaml @@ -1,20 +1,88 @@ --- features: - | - Provides support for dynamic drivers. + 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``. - With REST API version 1.30, adds additional parameters and response - fields for GET /v1/drivers and GET /v1/drivers/<name>. + 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. - Also allows dynamic drivers to be used and returned in the following - API calls, in all versions of the REST API: + 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. - * 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 + The ironic-conductor process will now fail to start if: - For more details, see the `REST API Version History documentation + - 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 diff --git a/releasenotes/notes/fix-baremetal-admin-user-not-neutron-admin-f163df90ab520dad.yaml b/releasenotes/notes/fix-baremetal-admin-user-not-neutron-admin-f163df90ab520dad.yaml index f9f1faabf..907490cd6 100644 --- a/releasenotes/notes/fix-baremetal-admin-user-not-neutron-admin-f163df90ab520dad.yaml +++ b/releasenotes/notes/fix-baremetal-admin-user-not-neutron-admin-f163df90ab520dad.yaml @@ -1,5 +1,5 @@ --- fixes: - - An issue when baremetal admin user doesn't have enough rights (admin) - in Neutron by always picking neutron user from ironic config - and avoiding passing client token. + - Changes interactions with neutron to always use the neutron credentials + from ironic configuration, instead of forwarding the credentials from the + API client. diff --git a/releasenotes/notes/fix-oneview-periodics-0f535fe7a0ad83cd.yaml b/releasenotes/notes/fix-oneview-periodics-0f535fe7a0ad83cd.yaml index 0936725b2..8d86b1dc0 100644 --- a/releasenotes/notes/fix-oneview-periodics-0f535fe7a0ad83cd.yaml +++ b/releasenotes/notes/fix-oneview-periodics-0f535fe7a0ad83cd.yaml @@ -1,4 +1,4 @@ --- fixes: - - Fixes a bug in the oneview driver where the periodic task to - check if a node is in use by oneview may end prematurely. + - Fixes a bug in the OneView driver where the periodic task to + check if a node is in use by OneView may end prematurely. diff --git a/releasenotes/notes/fix-policy-checkers-1a08203e3c2cf859.yaml b/releasenotes/notes/fix-policy-checkers-1a08203e3c2cf859.yaml index 6e196b111..fbde2fda8 100644 --- a/releasenotes/notes/fix-policy-checkers-1a08203e3c2cf859.yaml +++ b/releasenotes/notes/fix-policy-checkers-1a08203e3c2cf859.yaml @@ -1,4 +1,4 @@ --- fixes: - - Some of the API methods were not using the right context values for - checking the policy, this release fixes the issue. + - Fixes a bug where some of the API methods were not using the right context + values for checking the policy. diff --git a/releasenotes/notes/fix-rpc-exceptions-12c70eb6ba177e39.yaml b/releasenotes/notes/fix-rpc-exceptions-12c70eb6ba177e39.yaml index 73d147ae4..09c75aa64 100644 --- a/releasenotes/notes/fix-rpc-exceptions-12c70eb6ba177e39.yaml +++ b/releasenotes/notes/fix-rpc-exceptions-12c70eb6ba177e39.yaml @@ -1,9 +1,9 @@ --- fixes: - - Ironic exceptions that contained arbitrary objects in kwargs and were sent - via RPC were causing oslo_messaging serializer to fail. This was leading - to 500 errors from ironic API, timing out waiting for response from the - conductor. Starting with this release, all non-serializable objects - contained in an exception's kwargs are dropped. If the error is going to - be returned by the service will depend on the configuration option - ``[DEFAULT]fatal_exception_format_errors``. + - Ironic exceptions that contained arbitrary objects in ``kwargs`` and were + sent via RPC were causing ``oslo_messaging`` serializer to fail. This was + leading to 500 errors from ironic API, timing out waiting for response from + the conductor. Starting with this release, all non-serializable objects + contained in an exception's kwargs are dropped. Whether the error is going + to be returned by the service will depend on the configuration option + ``[DEFAULT]/fatal_exception_format_errors``. diff --git a/releasenotes/notes/glance-v2-83b04fec247cd22f.yaml b/releasenotes/notes/glance-v2-83b04fec247cd22f.yaml index 53c8384d3..9333e35b5 100644 --- a/releasenotes/notes/glance-v2-83b04fec247cd22f.yaml +++ b/releasenotes/notes/glance-v2-83b04fec247cd22f.yaml @@ -1,8 +1,7 @@ --- upgrade: - | - Ironic now uses only Image (glance) V2 API by default. Usage of deprecated - V1 API for certain basic tasks can still be enabled by setting - "[glance]glance_api_version" to "1". This option, however, does not affect - temporary URL generation, as it always required V2 API and cannot work - with V1. + Ironic now uses only the Image Service (glance) v2 API by default. Use of + the deprecated v1 API for certain basic tasks can still be enabled by setting + ``[glance]/glance_api_version`` to ``1``. This option, however, does not + affect temporary URL generation, as it always requires the v2 API. diff --git a/releasenotes/notes/hardware-interfaces-register-4566f2834fef1b5d.yaml b/releasenotes/notes/hardware-interfaces-register-4566f2834fef1b5d.yaml deleted file mode 100644 index 1ba808a03..000000000 --- a/releasenotes/notes/hardware-interfaces-register-4566f2834fef1b5d.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -features: - - Hardware interfaces are now loaded at conductor startup, - and registered in the database. ``[default]/enabled_*_interfaces`` - and ``[default]/default_*_interfaces`` configuration options now have an - effect on this. -upgrade: - - Hardware interfaces are now loaded at conductor startup, - and registered in the database. ``[default]/enabled_*_interfaces`` - and ``[default]/default_*_interfaces`` configuration options now have an - effect on this. diff --git a/releasenotes/notes/hardware-types-in-hash-ring-d3f097e332c4d395.yaml b/releasenotes/notes/hardware-types-in-hash-ring-d3f097e332c4d395.yaml deleted file mode 100644 index 23624507d..000000000 --- a/releasenotes/notes/hardware-types-in-hash-ring-d3f097e332c4d395.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - Using a dynamic driver in a node's driver field is now possible, though - customizing the interfaces is not yet exposed in the REST API. diff --git a/releasenotes/notes/inject-nmi-dacd692b1f259a30.yaml b/releasenotes/notes/inject-nmi-dacd692b1f259a30.yaml index 95bb57fd5..bd5561791 100644 --- a/releasenotes/notes/inject-nmi-dacd692b1f259a30.yaml +++ b/releasenotes/notes/inject-nmi-dacd692b1f259a30.yaml @@ -1,5 +1,6 @@ --- features: - Add support for the injection of Non-Masking Interrupts (NMI) for - a node in Ironic API 1.29. This feature can be used for hardware - diagnostics, and actual support depends on a driver. + a node in REST API version 1.29. This feature can be used for hardware + diagnostics, and actual support depends on the driver. In 7.0.0, this is + available in the ipmitool and iRMC drivers. diff --git a/releasenotes/notes/inspector-enabled-f8a643f03e1e0360.yaml b/releasenotes/notes/inspector-enabled-f8a643f03e1e0360.yaml index 8a39b7689..d6e1e9f86 100644 --- a/releasenotes/notes/inspector-enabled-f8a643f03e1e0360.yaml +++ b/releasenotes/notes/inspector-enabled-f8a643f03e1e0360.yaml @@ -1,7 +1,7 @@ --- upgrade: - | - The "[inspector]enabled" configuration option no longer has effect on - the "fake_inspector" driver. It will also not have effect on new-style - dynamic drivers based on hardware types - it will be necessary to use - "enabled_inspect_interfaces" instead. + The ``[inspector]/enabled`` configuration option no longer has effect on + the ``fake_inspector`` driver. It will also not have effect on new-style + dynamic drivers based on hardware types; it will be necessary to use + ``[DEFAULT]/enabled_inspect_interfaces`` instead. diff --git a/releasenotes/notes/interface-fields-f4b9384fdda6189a.yaml b/releasenotes/notes/interface-fields-f4b9384fdda6189a.yaml deleted file mode 100644 index 0989f4721..000000000 --- a/releasenotes/notes/interface-fields-f4b9384fdda6189a.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -upgrade: - - Add database migration to add new fields corresponding to all interfaces - to the node table. diff --git a/releasenotes/notes/ipmi-hardware-type-c536fbeeae610147.yaml b/releasenotes/notes/ipmi-hardware-type-c536fbeeae610147.yaml deleted file mode 100644 index 73457e7d9..000000000 --- a/releasenotes/notes/ipmi-hardware-type-c536fbeeae610147.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -features: - - | - Introduces new hardware type ``ipmi`` for IPMI-compatible hardware. - This type is enabled by default. Uses ``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. diff --git a/releasenotes/notes/ipmitool-inject-nmi-3dd1e778eba4e03e.yaml b/releasenotes/notes/ipmitool-inject-nmi-3dd1e778eba4e03e.yaml deleted file mode 100644 index 5c2f14f68..000000000 --- a/releasenotes/notes/ipmitool-inject-nmi-3dd1e778eba4e03e.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - Adds support for the injection of Non-Masking Interrupts (NMI) to - ipmitool driver. diff --git a/releasenotes/notes/ipmitool-soft-power-d5599dcb69eb0f5e.yaml b/releasenotes/notes/ipmitool-soft-power-d5599dcb69eb0f5e.yaml deleted file mode 100644 index 9e1ce306e..000000000 --- a/releasenotes/notes/ipmitool-soft-power-d5599dcb69eb0f5e.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - Adds support for ``soft reboot`` and ``soft power off`` to - ipmitool driver. diff --git a/releasenotes/notes/ipv6-provision-67bd9c1dbcc48c97.yaml b/releasenotes/notes/ipv6-provision-67bd9c1dbcc48c97.yaml index 065cb33c1..3ad6754f0 100644 --- a/releasenotes/notes/ipv6-provision-67bd9c1dbcc48c97.yaml +++ b/releasenotes/notes/ipv6-provision-67bd9c1dbcc48c97.yaml @@ -1,4 +1,3 @@ --- fixes: - - Can now deploy to a IPv6 iscsi portal if - instructed to do so. + - Adds support for deploying to IPv6 iSCSI portals. diff --git a/releasenotes/notes/irmc-hardware-type-2ab4e1906d01fe22.yaml b/releasenotes/notes/irmc-hardware-type-2ab4e1906d01fe22.yaml deleted file mode 100644 index e825951ef..000000000 --- a/releasenotes/notes/irmc-hardware-type-2ab4e1906d01fe22.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -features: - - Adds new hardware type 'irmc' for FUJITSU PRIMERGY servers.
\ No newline at end of file diff --git a/releasenotes/notes/irmc-inject-nmi-20b7824abad6beda.yaml b/releasenotes/notes/irmc-inject-nmi-20b7824abad6beda.yaml deleted file mode 100644 index f141d8491..000000000 --- a/releasenotes/notes/irmc-inject-nmi-20b7824abad6beda.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - Adds support for the injection of Non-Masking Interrupts (NMI) to - iRMC driver. diff --git a/releasenotes/notes/irmc-soft-power-281a83647baa4b23.yaml b/releasenotes/notes/irmc-soft-power-281a83647baa4b23.yaml deleted file mode 100644 index 9a3253d24..000000000 --- a/releasenotes/notes/irmc-soft-power-281a83647baa4b23.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - Adds support for ``soft reboot`` and ``soft power off`` to - iRMC driver. diff --git a/releasenotes/notes/manual-abort-d3d8985a5de7376a.yaml b/releasenotes/notes/manual-abort-d3d8985a5de7376a.yaml index 7cc864b55..810e3903f 100644 --- a/releasenotes/notes/manual-abort-d3d8985a5de7376a.yaml +++ b/releasenotes/notes/manual-abort-d3d8985a5de7376a.yaml @@ -1,5 +1,5 @@ --- fixes: - | - Fix bug in manual clean steps caching, which resulting in all clean steps - being not abortable. See https://bugs.launchpad.net/ironic/+bug/1658061. + Fixes a bug in manual clean step caching, which resulted in all clean steps + not being abortable. See https://bugs.launchpad.net/ironic/+bug/1658061. diff --git a/releasenotes/notes/mask-ssh-creds-54ab7b2656578d2e.yaml b/releasenotes/notes/mask-ssh-creds-54ab7b2656578d2e.yaml index 20f86be42..7170563af 100644 --- a/releasenotes/notes/mask-ssh-creds-54ab7b2656578d2e.yaml +++ b/releasenotes/notes/mask-ssh-creds-54ab7b2656578d2e.yaml @@ -1,4 +1,4 @@ --- security: - - private ssh keys are now masked when using the ssh power driver + - Private SSH keys are now masked when using the SSH power driver and node details are requested. diff --git a/releasenotes/notes/multi-arch-deploy-bcf840107fc94bef.yaml b/releasenotes/notes/multi-arch-deploy-bcf840107fc94bef.yaml index ff5b4a44c..c8071df7f 100644 --- a/releasenotes/notes/multi-arch-deploy-bcf840107fc94bef.yaml +++ b/releasenotes/notes/multi-arch-deploy-bcf840107fc94bef.yaml @@ -1,13 +1,20 @@ --- features: - - Support multi architecture deployment. E.g., to - deploy x86_64, aarch64 servers by one ironic conductor. - Two new config options, ``pxe_config_template_by_arch`` - and ``pxe_bootfile_name_by_arch``, are introduced to - support multi architecture deployment. They are - dictionary values to hold pxe config templates and - boot files for multiple architectures, with cpu_arch - property per node as the key. If cpu_arch is not found - in dictionary, options ``pxe_config_template``, + - | + Adds support to deploy to nodes with different CPU architectures + from a single conductor. This depends on + two new configuration options, ``[pxe]/pxe_config_template_by_arch`` + and ``[pxe]/pxe_bootfile_name_by_arch``. Each is a + dictionary mapping CPU architecture to PXE config template or + PXE boot file name, respectively. + + As an example, the syntax might look like:: + + pxe_config_template_by_arch=aarch64:pxe_grubaa64_config.template,ppc64:pxe_ppc64_config.template + + Ironic attempts to map the CPU architecture in this mapping to + the ``properties/cpu_arch`` field for a node. If the node's CPU + architecture is not found in the mapping, ironic will fall back to + the standard options ``pxe_config_template``, ``pxe_bootfile_name``, ``uefi_pxe_config_template``, - ``uefi_pxe_bootfile_name`` will be used as usual. + and ``uefi_pxe_bootfile_name``. diff --git a/releasenotes/notes/multiple-workers-for-send-sensor-data-89d29c12da30ec54.yaml b/releasenotes/notes/multiple-workers-for-send-sensor-data-89d29c12da30ec54.yaml index 4a025a114..aae7cd5c7 100644 --- a/releasenotes/notes/multiple-workers-for-send-sensor-data-89d29c12da30ec54.yaml +++ b/releasenotes/notes/multiple-workers-for-send-sensor-data-89d29c12da30ec54.yaml @@ -1,11 +1,11 @@ --- features: - - Adds new option ``[conductor]/send_sensor_data_workers`` - to allow concurrently sending sensor data using the specified + - Adds new configuration option ``[conductor]/send_sensor_data_workers`` + to allow concurrent sending of sensor data using the specified number of green threads. - ``[conductor]/wait_timeout_for_send_sensor_data`` option allows - to specify the time to wait for all spawned green threads before - running the periodic task again. + The ``[conductor]/wait_timeout_for_send_sensor_data`` configuration option + is the time to wait for all spawned green threads before running the + periodic task again. upgrade: - - Increases number of workers from 1 to 4 for the ``send_sensor_data`` - periodic task. + - Increases the default number of workers for the ``send_sensor_data`` + periodic task from 1 to 4. diff --git a/releasenotes/notes/net-names-b8a36aa30659ce2f.yaml b/releasenotes/notes/net-names-b8a36aa30659ce2f.yaml index 80b5d1816..57a73af82 100644 --- a/releasenotes/notes/net-names-b8a36aa30659ce2f.yaml +++ b/releasenotes/notes/net-names-b8a36aa30659ce2f.yaml @@ -1,13 +1,15 @@ --- features: - - Names can now be used instead of UUIDs for "cleaning_network" and - "provisioning_network" [neutron] configuration options (formerly - called "cleaning_network_uuid" and "provisioning_network_uuid"). + - Names can now be used instead of UUIDs for ``[neutron]/cleaning_network`` + and + ``[neutron]/provisioning_network`` configuration options (formerly + called ``[neutron]/cleaning_network_uuid`` and + ``[neutron]/provisioning_network_uuid``). Care has to be taken to ensure that the - names are unique among all networks in this case. Note that mapping between - a name and a UUID is cached for the lifetime of the conductor. + names are unique among all networks in this case. Note that the mapping + between a name and a UUID is cached for the lifetime of the conductor. deprecations: - - Configuration options "[neutron]cleaning_network_uuid" and - "[neutron]provisioning_network_uuid" are deprecated in favor of new - "[neutron]cleaning_network" and "[neutron]provisioning_network" - respectively. + - Configuration options ``[neutron]/cleaning_network_uuid`` and + ``[neutron]/provisioning_network_uuid`` are deprecated in favor of the new + configuration options ``[neutron]/cleaning_network`` and + ``[neutron]/provisioning_network`` respectively. diff --git a/releasenotes/notes/node-console-notifications-17875f95a378adb4.yaml b/releasenotes/notes/node-console-notifications-17875f95a378adb4.yaml deleted file mode 100644 index e508a00b7..000000000 --- a/releasenotes/notes/node-console-notifications-17875f95a378adb4.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - Add notifications for start and stop console on the node. - Event types are - "baremetal.node.console_{set, restore}.{start, end, error}" - For more details, see the developer documentation. diff --git a/releasenotes/notes/node-dynamic-interfaces-api-24d6b17aa49aff10.yaml b/releasenotes/notes/node-dynamic-interfaces-api-24d6b17aa49aff10.yaml deleted file mode 100644 index cf66b2d8d..000000000 --- a/releasenotes/notes/node-dynamic-interfaces-api-24d6b17aa49aff10.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -features: - - | - Adds version 1.31 of the REST API, which 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 diff --git a/releasenotes/notes/node-maintenance-notifications-43c150efe41b8517.yaml b/releasenotes/notes/node-maintenance-notifications-43c150efe41b8517.yaml deleted file mode 100644 index 6546570a5..000000000 --- a/releasenotes/notes/node-maintenance-notifications-43c150efe41b8517.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - Add notifications for node maintenance. Event types are - "baremetal.node.maintenance_set.{start, end, error}" - For more details, see the developer documentation. diff --git a/releasenotes/notes/notify-dynamic-if-fields-4b8cd0c5731cff0b.yaml b/releasenotes/notes/notify-dynamic-if-fields-4b8cd0c5731cff0b.yaml deleted file mode 100644 index 4f9cdbc2a..000000000 --- a/releasenotes/notes/notify-dynamic-if-fields-4b8cd0c5731cff0b.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -features: - - | - Adds dynamic interface fields to node-related notifications: - - * boot_interface - * console_interface - * deploy_interface - * inspect_interface - * management_interface - * power_interface - * raid_interface - * vendor_interface - - 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 - diff --git a/releasenotes/notes/oneview-inspection-interface-c2d6902bbeca0501.yaml b/releasenotes/notes/oneview-inspection-interface-c2d6902bbeca0501.yaml index 092633b6c..d71615306 100644 --- a/releasenotes/notes/oneview-inspection-interface-c2d6902bbeca0501.yaml +++ b/releasenotes/notes/oneview-inspection-interface-c2d6902bbeca0501.yaml @@ -1,5 +1,3 @@ --- -upgrade: - - Minimum required version of python-oneviewclient bumped to 2.5.1 features: - Adds in-band inspection interface usable by OneView drivers. diff --git a/releasenotes/notes/oneview-onetime-boot-64a68e135a45f5e2.yaml b/releasenotes/notes/oneview-onetime-boot-64a68e135a45f5e2.yaml index b9665fc0a..23cdcc376 100644 --- a/releasenotes/notes/oneview-onetime-boot-64a68e135a45f5e2.yaml +++ b/releasenotes/notes/oneview-onetime-boot-64a68e135a45f5e2.yaml @@ -1,7 +1,4 @@ --- fixes: - - Previously (python-oneviewclient < 2.4.0), due to limitations of - python-oneviewclient, boot device was always set persistenly with - OneView drivers. Now that one-time boot is implemented in python-oneviewclient, - changing the oneview driver to exhibit the expected behavior when - set_boot_device is called with persistent=False. + - Fixes the OneView driver to make the ``set_boot_device`` method work as + expected with the ``persistent`` option set to ``False``. diff --git a/releasenotes/notes/oslopolicy-scripts-bdcaeaf7dd9ce2ac.yaml b/releasenotes/notes/oslopolicy-scripts-bdcaeaf7dd9ce2ac.yaml index d510f0fb7..195757bf3 100644 --- a/releasenotes/notes/oslopolicy-scripts-bdcaeaf7dd9ce2ac.yaml +++ b/releasenotes/notes/oslopolicy-scripts-bdcaeaf7dd9ce2ac.yaml @@ -1,14 +1,16 @@ --- features: - - Ironic is now configured to work with two oslo.policy CLI scripts that have + - | + Ironic is now configured to work with two oslo.policy CLI scripts that have been added. The first of these can be called like - "oslopolicy-list-redundant --namespace ironic" and will output a list of + ``oslopolicy-list-redundant --namespace ironic`` and will output a list of policy rules in policy.[json|yaml] that match the project defaults. These rules can be removed from the policy file as they have no effect there. The second script can be called like - "oslopolicy-policy-generator --namespace ironic --output-file policy-merged.yaml" + ``oslopolicy-policy-generator --namespace ironic + --output-file policy-merged.yaml`` and will populate the policy-merged.yaml file with the effective policy. This is the merged results of project defaults and config file overrides. diff --git a/releasenotes/notes/power-state-notifications-9d865d7b3ecaf4ee.yaml b/releasenotes/notes/power-state-notifications-9d865d7b3ecaf4ee.yaml deleted file mode 100644 index b2c987f5d..000000000 --- a/releasenotes/notes/power-state-notifications-9d865d7b3ecaf4ee.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -features: - - | - Adds notifications for: - - * when ironic attempts to set the power state on the node (notifications - with event type "baremetal.node.power_set.{start, end, error}") - * when ironic detects the power state on baremetal hardware has changed - and updates the node in the database appropriately (notifications with - event type "baremetal.node.power_state_corrected.success") - - These are emitted if notifications are enabled. For more details, see the - developer documentation. diff --git a/releasenotes/notes/provision-state-notifications-33c44841a18080c3.yaml b/releasenotes/notes/provision-state-notifications-33c44841a18080c3.yaml deleted file mode 100644 index b64bb5c81..000000000 --- a/releasenotes/notes/provision-state-notifications-33c44841a18080c3.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - Adds notifications for node's provision state changes, event types are - "baremetal.node.provision_set.{start, end, success, error}". - For more details, see - http://docs.openstack.org/developer/ironic/dev/notifications.html. diff --git a/releasenotes/notes/pxe-takeover-d8f14bcb60e5b121.yaml b/releasenotes/notes/pxe-takeover-d8f14bcb60e5b121.yaml index e09b862f4..a904119e6 100644 --- a/releasenotes/notes/pxe-takeover-d8f14bcb60e5b121.yaml +++ b/releasenotes/notes/pxe-takeover-d8f14bcb60e5b121.yaml @@ -1,7 +1,7 @@ --- fixes: - | - PXEBoot driver interface now correctly supports node take-over - for netboot-ed nodes in ACTIVE state. - During take-over, the PXE environment is first created anew before - attempting to switch it to "service mode". + Drivers using the ``PXEBoot`` boot interface now correctly support node + take-over for netboot-ed nodes in ``ACTIVE`` state. During take-over, the + PXE environment is first re-created before attempting to switch it to + "service mode". diff --git a/releasenotes/notes/rely-on-standalone-ports-supported-8153e1135787828b.yaml b/releasenotes/notes/rely-on-standalone-ports-supported-8153e1135787828b.yaml index 23fb687e5..d11c454e1 100644 --- a/releasenotes/notes/rely-on-standalone-ports-supported-8153e1135787828b.yaml +++ b/releasenotes/notes/rely-on-standalone-ports-supported-8153e1135787828b.yaml @@ -15,7 +15,7 @@ other: a port group with portgroup.standalone_ports_supported already set to False. * ``portgroup.standalone_ports_supported`` cannot be set to False on a - portgroup if at least one port in that port group has + port group if at least one port in that port group has ``port.pxe_enabled=True`` * ``port.extra.vif_port_id`` cannot be set on a port that is a member of a port group with ``portgroup.standalone_ports_supported=False`` as diff --git a/releasenotes/notes/remove-agent-passthru-432b18e6c430cee6.yaml b/releasenotes/notes/remove-agent-passthru-432b18e6c430cee6.yaml index 0314aefc8..ea4fad46b 100644 --- a/releasenotes/notes/remove-agent-passthru-432b18e6c430cee6.yaml +++ b/releasenotes/notes/remove-agent-passthru-432b18e6c430cee6.yaml @@ -26,12 +26,11 @@ features: * pxe_drac * pxe_drac_inspector * iscsi_irmc + * agent_ilo + * iscsi_ilo + * pxe_ilo + * agent_pxe_oneview + * iscsi_pxe_oneview All the other vendor passthru methods are left in place if the driver had them. -upgrade: - - Agent lookup/heartbeat as vendor passthru is removed from ironic. - That means that most in-tree drivers relying on Ironic Python Agent (IPA) - lookup/heartbeat functionality become incompatible with IPA < 1.5.0. - Operators are required to update their IPA-based deploy ramdisks to - contain IPA >= 1.5.0. diff --git a/releasenotes/notes/remove-agent-passthru-complete-a6b2df65b95889d5.yaml b/releasenotes/notes/remove-agent-passthru-complete-a6b2df65b95889d5.yaml index ed69d90ae..e7d650f5c 100644 --- a/releasenotes/notes/remove-agent-passthru-complete-a6b2df65b95889d5.yaml +++ b/releasenotes/notes/remove-agent-passthru-complete-a6b2df65b95889d5.yaml @@ -1,13 +1,14 @@ --- upgrade: - - Ironic no longer supports agent lookup/heartbeats as vendor passthru. - All out-of-tree drivers must be updated to use AgentDeployMixin classes - directly without relying on BaseAgentVendor class and other classes - that were inheriting from it - (agent.AgentVendorInterface and iscsi_deploy.VendorPassthru). - This means that Ironic is incompatible with deploy ramdisks based on - Ironic Python Agent (IPA) < 1.5.0. - Operators should update their IPA-based deploy ramdisks in this case. - Operators using non-IPA based deploy ramdisks which use ironic - lookup/heartbeats functionality must update those to use top-level - ironic lookup/heartbeats REST API (available since ironic API v1.22). + - Ironic no longer supports agent lookup/heartbeats as vendor passthru + methods. All out-of-tree drivers must be updated to use + ``AgentDeployMixin`` classes directly without relying on + ``BaseAgentVendor`` class and other classes that were inheriting from it + (e.g. ``agent.AgentVendorInterface`` and ``iscsi_deploy.VendorPassthru``). + + This means that ironic is incompatible with deploy ramdisks based on Ironic + Python Agent (IPA) < 1.5.0. Operators must update their IPA-based deploy + ramdisks in this case. Operators using non-IPA based deploy ramdisks which + use ironic lookup/heartbeats functionality must update their ramdisks to + use the top level ironic lookup/heartbeats REST API, available since ironic + API v1.22. diff --git a/releasenotes/notes/remove-agent-passthru-ilo-2d1870bc2d8e8d60.yaml b/releasenotes/notes/remove-agent-passthru-ilo-2d1870bc2d8e8d60.yaml deleted file mode 100644 index c556f697a..000000000 --- a/releasenotes/notes/remove-agent-passthru-ilo-2d1870bc2d8e8d60.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -features: - - | - Agent lookup/heartbeat as vendor passthru is removed from iLO drivers. - Affected drivers are - - * agent_ilo - * iscsi_ilo - * pxe_ilo - - Other existing vendor passthru methods are left inplace. - -upgrade: - - Agent lookup/heartbeat as vendor passthru is removed from iLO drivers. - That means that iLO drivers become incompatible with IPA < 1.5.0. - Operators are required to update their IPA-based deploy ramdisks to - contain IPA >= 1.5.0. diff --git a/releasenotes/notes/remove-agent-passthru-oneview-67d389a05619aaba.yaml b/releasenotes/notes/remove-agent-passthru-oneview-67d389a05619aaba.yaml deleted file mode 100644 index 0d796e382..000000000 --- a/releasenotes/notes/remove-agent-passthru-oneview-67d389a05619aaba.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -features: - - | - Agent lookup/heartbeat as vendor passthru is removed from OneView drivers. - Affected drivers are - - * agent_pxe_oneview - * iscsi_pxe_oneview - - These drivers no longer have any vendor passthru methods. - -upgrade: - - Agent lookup/heartbeat as vendor passthru is removed from OneView drivers. - That means that OneView drivers become incompatible with IPA < 1.5.0. - Operators are required to update their IPA-based deploy ramdisks to - contain IPA >= 1.5.0. diff --git a/releasenotes/notes/remove-deprecated-dhcp-provider-methods-582742f3000be3c7.yaml b/releasenotes/notes/remove-deprecated-dhcp-provider-methods-582742f3000be3c7.yaml index d39728cf5..2d0409e09 100644 --- a/releasenotes/notes/remove-deprecated-dhcp-provider-methods-582742f3000be3c7.yaml +++ b/releasenotes/notes/remove-deprecated-dhcp-provider-methods-582742f3000be3c7.yaml @@ -1,17 +1,19 @@ --- upgrade: - | - Removes these deprecated methods from the neutron provider built into ironic: + Removes these deprecated methods from the neutron DHCP provider built into + ironic: * create_cleaning_ports * delete_cleaning_ports - Removes these related methods from ironic.drivers.modules.deploy_utils: + Removes these related methods from ``ironic.drivers.modules.deploy_utils``: * prepare_cleaning_ports * tear_down_cleaning_ports If you have your own custom ironic DHCP provider that implements cleaning methods, you may need to update your code to use the - add_cleaning_network() and remove_cleaning_network() network - interface methods. + ``add_cleaning_network()`` and ``remove_cleaning_network()`` network + interface methods. See the modules in ``ironic/drivers/modules/network/`` + for more information. diff --git a/releasenotes/notes/remove-driver-object-periodic-tasks-1357a1cd3589becf.yaml b/releasenotes/notes/remove-driver-object-periodic-tasks-1357a1cd3589becf.yaml index 49f1a3a48..a08dc8c35 100644 --- a/releasenotes/notes/remove-driver-object-periodic-tasks-1357a1cd3589becf.yaml +++ b/releasenotes/notes/remove-driver-object-periodic-tasks-1357a1cd3589becf.yaml @@ -1,6 +1,5 @@ --- upgrade: - | - Attaching periodic tasks on a driver object (rather than an interface) - was deprecated during the Newton cycle (6.1.0). Support has been - removed so it is no longer possible to do this. + Removes support for attaching periodic tasks on a driver object, rather + than an interface. diff --git a/releasenotes/notes/resources-crud-notifications-70cba9f761da3afe.yaml b/releasenotes/notes/resources-crud-notifications-70cba9f761da3afe.yaml index ab3918643..c1ddd0817 100644 --- a/releasenotes/notes/resources-crud-notifications-70cba9f761da3afe.yaml +++ b/releasenotes/notes/resources-crud-notifications-70cba9f761da3afe.yaml @@ -1,7 +1,23 @@ --- features: - - Adds notifications for creation, updates, or deletions of ironic resources - (node, port and chassis). Event types are formatted as follows - "baremetal.<resource>.{create,update,delete}.{start,end,error}". - For more details, see the developer documentation - /http://docs.openstack.org/developer/ironic/deploy/notifications.html. + - | + Adds the following notifications: + + - Creation, updates, or deletions of ironic resources + (node, port and chassis). Event types are + ``baremetal.<resource>.{create,update,delete}.{start,end,error}``. + - Start and stop console on a node. Event types are + ``baremetal.node.console_{set,restore}.{start,end,error}``. + - Changes in node maintenance status. Event types are + ``baremetal.node.maintenance_set.{start,end,error}``. + - When ironic attempts to set the power state on the node. Event types are + ``baremetal.node.power_set.{start,end,error}``. + - When ironic detects the power state on baremetal hardware has changed + and updates the node in the database appropriately. Event types are + ``baremetal.node.power_state_corrected.success``. + - Node provision state changes. Event types are + ``baremetal.node.provision_set.{start,end,success,error}``. + + These are only emitted when notifications are enabled. + For more details, see the developer documentation: + http://docs.openstack.org/developer/ironic/deploy/notifications.html. diff --git a/releasenotes/notes/reusing-oneview-client-6a3936fb8f113c10.yaml b/releasenotes/notes/reusing-oneview-client-6a3936fb8f113c10.yaml index 673aacaab..eb89dbb95 100644 --- a/releasenotes/notes/reusing-oneview-client-6a3936fb8f113c10.yaml +++ b/releasenotes/notes/reusing-oneview-client-6a3936fb8f113c10.yaml @@ -1,4 +1,4 @@ --- fixes: - - Fixes a bug where OneView drivers creates a new instance of the - oneview_client for each request made. + - Fixes a bug where OneView drivers create a new instance of the OneView + client for each request made. diff --git a/releasenotes/notes/soft-reboot-poweroff-9fdb0a4306dd668d.yaml b/releasenotes/notes/soft-reboot-poweroff-9fdb0a4306dd668d.yaml index 8cb35ea67..25fe8cd87 100644 --- a/releasenotes/notes/soft-reboot-poweroff-9fdb0a4306dd668d.yaml +++ b/releasenotes/notes/soft-reboot-poweroff-9fdb0a4306dd668d.yaml @@ -1,7 +1,8 @@ --- features: - - Support ``soft rebooting`` and ``soft power off`` requests to - change node's power state with API version 1.27, and also - introduce ``timeout`` optional parameter and - ``[conductor]/soft_power_off_timeout`` configuration option. - Custom power drivers may be enhanced to support this feature. + - Adds support for soft reboot and soft power off requests in REST API + version 1.27. Also adds an optional ``timeout`` parameter to the node + power state API. Adds a new configuration option + ``[conductor]/soft_power_off_timeout`` to define the default timeout + for soft power actions. In 7.0.0, this is supported for ipmitool and + iRMC drivers. |