PXE: Remove DHCP option 210 from being set

Ages ago we supported pxelinux. Now, not really since it is long EOL.

And while troubleshooting bug # 2033430, we discovered we had option
210 in the DHCP payload from the server, which ended up being the
folder base path for a tftp client to self reference the structure,
but only with OVN.

Further troubleshooting with the neutron-dhcp-agent and dnsmasq
revealed we never actaully really sent that option to clients.

In other words, meaning it was always redundant. Since excess
information could be part of the problem with grub, we're removing
it.

Change-Id: Iaa2f174b6082fadcab6635ca874fc5fae2fb4842
This commit is contained in:
Julia Kreger 2023-08-30 13:27:54 -07:00
parent aa2dad9f75
commit 980611186e
3 changed files with 9 additions and 14 deletions

View File

@ -58,7 +58,6 @@ DHCPV6_BOOTFILE_NAME = '59' # rfc5970
# DHCPV6_BOOTFILE_PARAMS = '60' # rfc5970 # DHCPV6_BOOTFILE_PARAMS = '60' # rfc5970
DHCP_TFTP_SERVER_ADDRESS = '150' # rfc5859 DHCP_TFTP_SERVER_ADDRESS = '150' # rfc5859
DHCP_IPXE_ENCAP_OPTS = '175' # Tentatively Assigned DHCP_IPXE_ENCAP_OPTS = '175' # Tentatively Assigned
DHCP_TFTP_PATH_PREFIX = '210' # rfc5071
DHCP_SERVER_IP_ADDRESS = '255' # dnsmasq server-ip-address DHCP_SERVER_IP_ADDRESS = '255' # dnsmasq server-ip-address
DEPLOY_KERNEL_RAMDISK_LABELS = ['deploy_kernel', 'deploy_ramdisk'] DEPLOY_KERNEL_RAMDISK_LABELS = ['deploy_kernel', 'deploy_ramdisk']
@ -562,16 +561,6 @@ def dhcp_options_for_instance(task, ipxe_enabled=False, url_boot=False,
else: else:
dhcp_opts.append({'opt_name': boot_file_param, dhcp_opts.append({'opt_name': boot_file_param,
'opt_value': boot_file}) 'opt_value': boot_file})
# 210 == tftp server path-prefix or tftp root, will be used to find
# pxelinux.cfg directory. The pxelinux.0 loader infers this information
# from it's own path, but Petitboot needs it to be specified by this
# option since it doesn't use pxelinux.0 loader.
if not url_boot:
# Enforce trailing slash
prefix = os.path.join(CONF.pxe.tftp_root, '')
dhcp_opts.append(
{'opt_name': DHCP_TFTP_PATH_PREFIX,
'opt_value': prefix})
if not url_boot: if not url_boot:
dhcp_opts.append({'opt_name': DHCP_TFTP_SERVER_NAME, dhcp_opts.append({'opt_name': DHCP_TFTP_SERVER_NAME,

View File

@ -895,9 +895,6 @@ class TestPXEUtils(db_base.DbTestCase):
expected_info = [{'opt_name': '67', expected_info = [{'opt_name': '67',
'opt_value': bootfile, 'opt_value': bootfile,
'ip_version': ip_version}, 'ip_version': ip_version},
{'opt_name': '210',
'opt_value': '/tftp-path/',
'ip_version': ip_version},
{'opt_name': '66', {'opt_name': '66',
'opt_value': '192.0.2.1', 'opt_value': '192.0.2.1',
'ip_version': ip_version}, 'ip_version': ip_version},

View File

@ -0,0 +1,9 @@
---
other:
- |
While investigating `bug 2033430 <https://bugs.launchpad.net/ironic/+bug/2033430>`_
we discovered we were emitting DHCP option 210 *only* with OVN, and never
emitted it with dnsmasq because it was not being set previously. Our
internal notes also indicated this was for PXELinux support, but was
never actually needed. As it was excess, and redundant configuration
being provided to Neutron, it has been removed.