ironic: always enable conductor HTTP server
In the Xena release, Ironic removed the iSCSI driver [1]. The recommended 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 currently deployed when enable_ironic_ipxe is set to true. For this reason, this patch always enables the HTTP server running on the conductor. iPXE is still enabled separately, since it cannot currently be used at the same time as PXE. [1] https://review.opendev.org/c/openstack/ironic/+/789382 Change-Id: I30c2ad2bf2957ac544942aefae8898cdc8a61ec6
This commit is contained in:
parent
aa28675ca9
commit
411668ea5a
@ -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 }}"
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
10
releasenotes/notes/enable-ipxe-cf461344bdb99881.yaml
Normal file
10
releasenotes/notes/enable-ipxe-cf461344bdb99881.yaml
Normal 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``.
|
Loading…
Reference in New Issue
Block a user