Merge "Fix chainloading iPXE (undionly.kpxe)"
This commit is contained in:
commit
fc26d6ccde
@ -849,12 +849,13 @@ DHCP client to chainload the iPXE image (undionly.kpxe). Neutron needs to
|
||||
be configured to create this DHCP tag, since it isn't create by default.
|
||||
|
||||
#. Create a custom ``dnsmasq.conf`` file with a setting for the ipxe tag. For
|
||||
example, the following creates the file ``/etc/dnsmasq-ironic.conf`` ::
|
||||
example, create the file ``/etc/dnsmasq-ironic.conf`` with the content::
|
||||
|
||||
cat > /etc/dnsmasq-ironic.conf << EOF
|
||||
dhcp-match=ipxe,175
|
||||
EOF
|
||||
# Create the "ipxe" tag if request comes from iPXE user class
|
||||
dhcp-userclass=set:ipxe,iPXE
|
||||
|
||||
# Alternatively, create the "ipxe" tag if request comes from DHCP option 175
|
||||
# dhcp-match=set:ipxe,175
|
||||
|
||||
#. In the Neutron DHCP Agent configuration file (typically located at
|
||||
/etc/neutron/dhcp_agent.ini), set the custom ``/etc/dnsmasq-ironic.conf``
|
||||
|
@ -260,15 +260,15 @@ def dhcp_options_for_instance(task):
|
||||
# to neutron "dhcp-match=set:ipxe,175" and use below option
|
||||
dhcp_opts.append({'opt_name': 'tag:!ipxe,bootfile-name',
|
||||
'opt_value': CONF.pxe.pxe_bootfile_name})
|
||||
dhcp_opts.append({'opt_name': 'tag:ipxe,bootfile-name',
|
||||
'opt_value': ipxe_script_url})
|
||||
else:
|
||||
# !175 == non-iPXE.
|
||||
# http://ipxe.org/howto/dhcpd#ipxe-specific_options
|
||||
dhcp_opts.append({'opt_name': '!175,bootfile-name',
|
||||
'opt_value': CONF.pxe.pxe_bootfile_name})
|
||||
# If the request comes from iPXE, direct it to boot from the
|
||||
# iPXE script
|
||||
dhcp_opts.append({'opt_name': 'bootfile-name',
|
||||
'opt_value': ipxe_script_url})
|
||||
dhcp_opts.append({'opt_name': 'bootfile-name',
|
||||
'opt_value': ipxe_script_url})
|
||||
else:
|
||||
if deploy_utils.get_boot_mode_for_deploy(task.node) == 'uefi':
|
||||
boot_file = CONF.pxe.uefi_pxe_bootfile_name
|
||||
|
@ -358,7 +358,7 @@ class TestPXEUtils(db_base.DbTestCase):
|
||||
'opt_value': '192.0.2.1'},
|
||||
{'opt_name': 'tftp-server',
|
||||
'opt_value': '192.0.2.1'},
|
||||
{'opt_name': 'bootfile-name',
|
||||
{'opt_name': 'tag:ipxe,bootfile-name',
|
||||
'opt_value': expected_boot_script_url}]
|
||||
with task_manager.acquire(self.context, self.node.uuid) as task:
|
||||
self.assertItemsEqual(expected_info,
|
||||
|
Loading…
Reference in New Issue
Block a user