summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulia Kreger <juliaashleykreger@gmail.com>2021-06-24 09:31:57 -0700
committerJulia Kreger <juliaashleykreger@gmail.com>2021-06-28 06:59:34 -0700
commitb2a249d186b77def6cd449d34fd600520c159a50 (patch)
treebc443c5bd3ebf6224ce0f049beb38e7fdfb4d112
parent4d13da9cc7b8f8fa9ee428731f88d5723eddeffa (diff)
downloadironic-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/ironic3
-rw-r--r--doc/source/admin/report.txt1
-rw-r--r--doc/source/install/configure-ipv6-networking.rst14
-rw-r--r--ironic/conf/pxe.py4
-rw-r--r--releasenotes/notes/remove_pxe_ip_version-7a71f821ded28360.yaml7
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.