Merge "ironic: always enable conductor HTTP server"

This commit is contained in:
Zuul 2021-07-22 11:57:39 +00:00 committed by Gerrit Code Review
commit 54eb323b32
4 changed files with 33 additions and 6 deletions

View File

@ -66,7 +66,9 @@ ironic_services:
ironic-ipxe:
container_name: ironic_ipxe
group: ironic-ipxe
enabled: "{{ enable_ironic_ipxe | bool }}"
# NOTE(mgoddard): This container is always enabled, since may be used by
# the direct deploy driver.
enabled: true
image: "{{ ironic_pxe_image_full }}"
volumes: "{{ ironic_ipxe_default_volumes + ironic_ipxe_extra_volumes }}"
dimensions: "{{ ironic_ipxe_dimensions }}"

View File

@ -184,15 +184,18 @@ deploy_logs_collect = always
[pxe]
pxe_append_params = nofb nomodeset vga=normal console=tty0 console=ttyS0,{{ ironic_console_serial_speed }}
{% if enable_ironic_ipxe | bool %}
{# NOTE(mgoddard): iPXE uses the TFTP image cache (tftp_master_path, default
/tftpboot/master_images), in which images get hard linked to the http_root
directory (/httpboot). These must be on the same device, but /httpboot and
/tftpboot live in separate Docker volumes. Override the default paths for
iPXE to place them both in /httpboot. This prevents mixing PXE and iPXE. #}
tftp_root = /httpboot
tftp_master_path = /httpboot/master_images
tftp_server = {{ api_interface_address }}
{% endif %}
{% if enable_ironic_ipxe | bool %}
[deploy]
http_url = {{ ironic_ipxe_url }}
{% endif %}
[oslo_middleware]
enable_proxy_headers_parsing = True

View File

@ -73,10 +73,11 @@ true in ``/etc/kolla/globals.yml``:
.. code-block:: yaml
enable_ironic_ipxe: "yes"
enable_ironic_ipxe: "yes"
This will enable deployment of a docker container, called ironic_ipxe, running
the web server which iPXE uses to obtain it's boot images.
When iPXE booting is enabled, the ``ironic_ipxe`` container is used to serve
the iPXE boot images as described below. Regardless of the setting above, the
same container is used to support the ``direct`` deploy interface.
The port used for the iPXE webserver is controlled via ``ironic_ipxe_port`` in
``/etc/kolla/globals.yml``:
@ -94,6 +95,17 @@ The following changes will occur if iPXE booting is enabled:
environment. You may also boot directly to iPXE by some other means e.g by
burning it to the option rom of your ethernet card.
Note that due to a limitation in Kolla Ansible, PXE and iPXE cannot be used
together in a single deployment.
In order to enable the iPXE driver in Ironic, set the ``[DEFAULT]
enabled_boot_interfaces`` option in ``/etc/kolla/config/ironic.conf``:
.. code-block:: yaml
[DEFAULT]
enabled_boot_interfaces = ipxe
Deployment
~~~~~~~~~~
Run the deploy as usual:

View File

@ -0,0 +1,10 @@
---
upgrade:
- |
An HTTP server is now always deployed for Ironic conductor, while
previously it was only deployed when iPXE is enabled.
In the Xena release, Ironic removed the iSCSI driver. The recommended
deploy driver is ``direct``, which uses HTTP to transfer the disk image.
This requires an HTTP server, and the simplest option is to use the one
previously deployed when ``enable_ironic_ipxe`` is set to ``true``.