Merge "Fix inspector iPXE boot with UEFI compute nodes"

This commit is contained in:
Zuul 2019-08-21 22:00:56 +00:00 committed by Gerrit Code Review
commit 81912ab534
11 changed files with 15 additions and 27 deletions

View File

@ -299,6 +299,7 @@
kolla_inspector_dhcp_pool_start: "{{ inspection_net_name | net_inspection_allocation_pool_start }}" kolla_inspector_dhcp_pool_start: "{{ inspection_net_name | net_inspection_allocation_pool_start }}"
kolla_inspector_dhcp_pool_end: "{{ inspection_net_name | net_inspection_allocation_pool_end }}" kolla_inspector_dhcp_pool_end: "{{ inspection_net_name | net_inspection_allocation_pool_end }}"
kolla_inspector_default_gateway: "{{ inspection_net_name | net_inspection_gateway or inspection_net_name | net_gateway }}" kolla_inspector_default_gateway: "{{ inspection_net_name | net_inspection_gateway or inspection_net_name | net_gateway }}"
kolla_inspector_extra_kernel_options: "{{ inspector_extra_kernel_options }}"
# While kayobe has its own support for installing an NTP daemon, the # While kayobe has its own support for installing an NTP daemon, the
# kolla-ansible baremetal role does a one-time sync which is useful. # kolla-ansible baremetal role does a one-time sync which is useful.
kolla_enable_host_ntp: "{{ ntp_service_enabled }}" kolla_enable_host_ntp: "{{ ntp_service_enabled }}"

View File

@ -203,7 +203,6 @@
kolla_inspector_keep_ports: "{{ inspector_keep_ports }}" kolla_inspector_keep_ports: "{{ inspector_keep_ports }}"
kolla_inspector_enable_discovery: "{{ inspector_enable_discovery }}" kolla_inspector_enable_discovery: "{{ inspector_enable_discovery }}"
kolla_inspector_discovery_enroll_node_driver: "{{ inspector_discovery_enroll_node_driver }}" kolla_inspector_discovery_enroll_node_driver: "{{ inspector_discovery_enroll_node_driver }}"
kolla_inspector_extra_kernel_options: "{{ inspector_extra_kernel_options }}"
# Ironic inspector swift store configuration. Currently only supports the # Ironic inspector swift store configuration. Currently only supports the
# 'fake' inspection store. # 'fake' inspection store.
kolla_inspector_enable_swift: "{{ inspector_store_enabled }}" kolla_inspector_enable_swift: "{{ inspector_store_enabled }}"

View File

@ -219,6 +219,9 @@ kolla_inspector_dhcp_pool_end:
# Default gateway to use for inspection network. # Default gateway to use for inspection network.
kolla_inspector_default_gateway: kolla_inspector_default_gateway:
# List of extra kernel parameters for the inspector default PXE configuration.
kolla_inspector_extra_kernel_options: []
#################### ####################
# OpenStack options # OpenStack options
#################### ####################

View File

@ -294,6 +294,10 @@ ironic_dnsmasq_dhcp_range: {{ kolla_inspector_dhcp_pool_start }},{{ kolla_inspec
{% if kolla_inspector_default_gateway %} {% if kolla_inspector_default_gateway %}
ironic_dnsmasq_default_gateway: {{ kolla_inspector_default_gateway }} ironic_dnsmasq_default_gateway: {{ kolla_inspector_default_gateway }}
{% endif %} {% endif %}
{% if kolla_inspector_extra_kernel_options %}
ironic_inspector_kernel_cmdline_extras:
{{ kolla_inspector_extra_kernel_options | to_nice_yaml }}
{% endif %}
###################################### ######################################
# Manila - Shared File Systems Options # Manila - Shared File Systems Options

View File

@ -271,9 +271,6 @@ kolla_inspector_enable_discovery:
# The Ironic driver with which to register newly discovered nodes. # The Ironic driver with which to register newly discovered nodes.
kolla_inspector_discovery_enroll_node_driver: kolla_inspector_discovery_enroll_node_driver:
# List of extra kernel parameters for the inspector default PXE configuration.
kolla_inspector_extra_kernel_options: []
# URL of Ironic Python Agent (IPA) kernel image for Ironic Inspector. # URL of Ironic Python Agent (IPA) kernel image for Ironic Inspector.
# Mutually exclusive with kolla_inspector_ipa_kernel_path. # Mutually exclusive with kolla_inspector_ipa_kernel_path.
kolla_inspector_ipa_kernel_upstream_url: kolla_inspector_ipa_kernel_upstream_url:

View File

@ -94,8 +94,7 @@ def test_service_ini_file(host, path):
@pytest.mark.parametrize( @pytest.mark.parametrize(
'path', 'path',
['ironic/ironic-agent.initramfs', ['ironic/ironic-agent.initramfs',
'ironic/ironic-agent.kernel', 'ironic/ironic-agent.kernel'])
'ironic/pxelinux.default'])
def test_service_non_ini_file(host, path): def test_service_non_ini_file(host, path):
# TODO(mgoddard): Check config file contents. # TODO(mgoddard): Check config file contents.
path = os.path.join('/etc/kolla/config', path) path = os.path.join('/etc/kolla/config', path)

View File

@ -36,8 +36,6 @@
- { src: neutron.conf.j2, dest: neutron.conf, enabled: "{{ kolla_enable_neutron }}" } - { src: neutron.conf.j2, dest: neutron.conf, enabled: "{{ kolla_enable_neutron }}" }
- { src: nova.conf.j2, dest: nova.conf, enabled: "{{ kolla_enable_nova }}" } - { src: nova.conf.j2, dest: nova.conf, enabled: "{{ kolla_enable_nova }}" }
- { src: octavia.conf.j2, dest: octavia.conf, enabled: "{{ kolla_enable_octavia }}" } - { src: octavia.conf.j2, dest: octavia.conf, enabled: "{{ kolla_enable_octavia }}" }
- { src: pxelinux.default.j2, dest: ironic/pxelinux.default, enabled: "{{ kolla_enable_ironic }}" }
- { src: inspector.ipxe.j2, dest: ironic/inspector.ipxe, enabled: "{{ kolla_enable_ironic_ipxe }}" }
- { src: sahara.conf.j2, dest: sahara.conf, enabled: "{{ kolla_enable_sahara }}" } - { src: sahara.conf.j2, dest: sahara.conf, enabled: "{{ kolla_enable_sahara }}" }
- { src: backup.my.cnf.j2, dest: backup.my.cnf, enabled: "{{ kolla_enable_xtrabackup }}" } - { src: backup.my.cnf.j2, dest: backup.my.cnf, enabled: "{{ kolla_enable_xtrabackup }}" }
- { src: zookeeper.cfg.j2, dest: zookeeper.cfg, enabled: "{{ kolla_enable_zookeeper }}" } - { src: zookeeper.cfg.j2, dest: zookeeper.cfg, enabled: "{{ kolla_enable_zookeeper }}" }

View File

@ -1,10 +0,0 @@
#!ipxe
:retry_dhcp
dhcp || goto retry_dhcp
:retry_boot
imgfree
kernel --timeout 30000 {% raw %}{{ ironic_ipxe_url }}/ironic-agent.kernel{% endraw %} ipa-inspection-callback-url={% raw %}http://{{ kolla_internal_vip_address }}:{{ ironic_inspector_port }}/v1/continue{% endraw %} systemd.journald.forward_to_console=yes {{ kolla_inspector_extra_kernel_options | join(' ') }} {% raw %}BOOTIF=${mac}{% endraw %} || goto retry_boot
initrd --timeout 30000 {% raw %}{{ ironic_ipxe_url }}/ironic-agent.initramfs{% endraw %} || goto retry_boot
boot

View File

@ -1,7 +0,0 @@
default introspect
label introspect
kernel ironic-agent.kernel
append initrd=ironic-agent.initramfs ipa-inspection-callback-url={% raw %}http://{{ kolla_internal_vip_address }}:{{ ironic_inspector_port }}/v1/continue{% endraw %} systemd.journald.forward_to_console=yes {{ kolla_inspector_extra_kernel_options | join(' ') }}
ipappend 3

View File

@ -112,8 +112,6 @@ kolla_openstack_custom_config:
# These are templated by kayobe, so don't remove them. # These are templated by kayobe, so don't remove them.
- ironic-agent.initramfs - ironic-agent.initramfs
- ironic-agent.kernel - ironic-agent.kernel
- pxelinux.default
- inspector.ipxe
# Kafka. # Kafka.
- src: "{{ kolla_extra_config_path }}/kafka" - src: "{{ kolla_extra_config_path }}/kafka"
dest: "{{ kolla_node_custom_config_path }}/kafka" dest: "{{ kolla_node_custom_config_path }}/kafka"

View File

@ -0,0 +1,6 @@
---
fixes:
- |
Fixes an issue with hardware inspection of bare metal compute nodes
configured to use UEFI. See `story 2006214
<https://storyboard.openstack.org/#!/story/2006214>`__ for details.