diff options
author | Julia Kreger <juliaashleykreger@gmail.com> | 2021-06-24 09:31:57 -0700 |
---|---|---|
committer | Julia Kreger <juliaashleykreger@gmail.com> | 2021-06-28 06:59:34 -0700 |
commit | b2a249d186b77def6cd449d34fd600520c159a50 (patch) | |
tree | bc443c5bd3ebf6224ce0f049beb38e7fdfb4d112 | |
parent | 4d13da9cc7b8f8fa9ee428731f88d5723eddeffa (diff) | |
download | ironic-b2a249d186b77def6cd449d34fd600520c159a50.tar.gz |
Deprecate [pxe]ip_version parameter
The parameter has not had any effect in the code since
the dual stack PXE work went into place with Ironic as options
are now generated and transmitted to Neutron for both IPv4 and
IPv6. This option is only used by the internal
``dhcp_options_for_instance`` method in
``ironic.common.pxe_utils`` as a fallback if the calling method
does not specify a version. However a later change resulted in the
default behavior calling the dhcp option generation explicitly
to generate both IPv4 and IPv6 parameters, making the option
entirely redundant.
Third party drivers using the ``dhcp_options_for_instance`` method
should consider generating options for both IPv4 and IPv6 at all
times. See change
If7a296001e204ae0c9a49495731052ab33379628 for examples on how
to do this.
Change-Id: I343783389105f008ce6dafc8d25d93211710771a
-rw-r--r-- | devstack/lib/ironic | 3 | ||||
-rw-r--r-- | doc/source/admin/report.txt | 1 | ||||
-rw-r--r-- | doc/source/install/configure-ipv6-networking.rst | 14 | ||||
-rw-r--r-- | ironic/conf/pxe.py | 4 | ||||
-rw-r--r-- | releasenotes/notes/remove_pxe_ip_version-7a71f821ded28360.yaml | 7 |
5 files changed, 17 insertions, 12 deletions
diff --git a/devstack/lib/ironic b/devstack/lib/ironic index ebe77cc57..be692de98 100644 --- a/devstack/lib/ironic +++ b/devstack/lib/ironic @@ -1465,9 +1465,6 @@ function configure_ironic { iniset_rpc_backend ironic $IRONIC_CONF_FILE fi - # Set IP version - iniset $IRONIC_CONF_FILE pxe ip_version $IRONIC_IP_VERSION - # Configure Ironic conductor, if it was enabled. if is_service_enabled ir-cond; then configure_ironic_conductor diff --git a/doc/source/admin/report.txt b/doc/source/admin/report.txt index 02d889717..e098e5aef 100644 --- a/doc/source/admin/report.txt +++ b/doc/source/admin/report.txt @@ -577,7 +577,6 @@ pxe: image_cache_ttl = 10080 images_path = /var/lib/ironic/images/ instance_master_path = /var/lib/ironic/master_images - ip_version = 4 ipxe_boot_script = /opt/stack/ironic/ironic/drivers/modules/boot.ipxe ipxe_enabled = True ipxe_timeout = 0 diff --git a/doc/source/install/configure-ipv6-networking.rst b/doc/source/install/configure-ipv6-networking.rst index 0d9c4e0a4..926b34c18 100644 --- a/doc/source/install/configure-ipv6-networking.rst +++ b/doc/source/install/configure-ipv6-networking.rst @@ -10,13 +10,13 @@ configuration. This page covers the IPv6 specifics only. Please refer to Configure ironic PXE driver for provisioning using IPv6 addressing ================================================================== -The ironic PXE driver operates in either IPv4 or IPv6 mode (IPv4 is the -default). To enable IPv6 mode, set the ``[pxe]/ip_version`` option in the Bare -Metal Service's configuration file (``/etc/ironic/ironic.conf``) to ``6``. - -.. Note:: Support for dual mode IPv4 and IPv6 operations is planned for a - future version of ironic. - +The PXE drivers operate in such a way that they are able to utilize +both IPv4 and IPv6 addresses based upon the deployment's operating state and +configuration. Internally, the drivers attempt to prepare configuration options for both formats, which allows ports which are IPv6 only to automatically +receieve boot parameters. As a result of this, it is critical that the +``[DEFAULT]my_ipv6`` configuration parameter is set to the conductor's +IPv6 address. This option is unique per conductor, and due to the nature +of automatic address assignment, it cannot be "guessed" by the software. Provisioning with IPv6 stateless addressing ------------------------------------------- diff --git a/ironic/conf/pxe.py b/ironic/conf/pxe.py index 57757ae7a..e6672aabe 100644 --- a/ironic/conf/pxe.py +++ b/ironic/conf/pxe.py @@ -155,8 +155,10 @@ opts = [ choices=[('4', _('IPv4')), ('6', _('IPv6'))], mutable=True, + deprecated_for_removal=True, help=_('The IP version that will be used for PXE booting. ' - 'Defaults to 4. EXPERIMENTAL')), + 'Defaults to 4. This option has been a no-op for in-tree' + 'drivers since the Ussuri development cycle.')), cfg.BoolOpt('ipxe_use_swift', default=False, mutable=True, diff --git a/releasenotes/notes/remove_pxe_ip_version-7a71f821ded28360.yaml b/releasenotes/notes/remove_pxe_ip_version-7a71f821ded28360.yaml new file mode 100644 index 000000000..146f6a119 --- /dev/null +++ b/releasenotes/notes/remove_pxe_ip_version-7a71f821ded28360.yaml @@ -0,0 +1,7 @@ +--- +deprecations: + - | + The ``[pxe]ip_version`` setting has been deprecated and is anticipated to + be removed in the Y* release of OpenStack. This option effectively has had + no operational impact since the Ussuri release of OpenStack where dual + stack IPv4 and IPv6 support was added to Ironic. |