aboutsummaryrefslogtreecommitdiff
path: root/docker/ironic
diff options
context:
space:
mode:
authorWill Szumski <will@stackhpc.com>2025-01-14 16:21:04 +0000
committerMichal Nasiadka <mnasiadka@gmail.com>2025-10-03 10:00:05 +0200
commitbacaf8f49412271ebcd3ed5294e2b1435d74ed29 (patch)
tree4825f61298069ebda6bcf32cd5e279cbf3fde1ed /docker/ironic
parent0d51f0ab0349d51ec3faa3061ddd89cde2b2364e (diff)
downloadkolla-bacaf8f49412271ebcd3ed5294e2b1435d74ed29.tar.gz
kolla-bacaf8f49412271ebcd3ed5294e2b1435d74ed29.zip
Adds ironic-pxe-filter container
Used in conjunction with the inspector implementation built into Ironic and based on the Ironic documentation[1]. [1] https://docs.openstack.org/ironic/latest/admin/inspection/pxe_filter.html Partial-Bug: #2094790 Depends-On: https://review.opendev.org/c/openstack/ironic/+/959850 Change-Id: I17811f2225edd64fb20cc44f0d40e14e9edb1413 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com> Signed-off-by: Will Szumski <will@stackhpc.com>
Diffstat (limited to 'docker/ironic')
-rw-r--r--docker/ironic/ironic-pxe-filter/Dockerfile.j224
-rw-r--r--docker/ironic/ironic-pxe-filter/extend_start.sh6
2 files changed, 30 insertions, 0 deletions
diff --git a/docker/ironic/ironic-pxe-filter/Dockerfile.j2 b/docker/ironic/ironic-pxe-filter/Dockerfile.j2
new file mode 100644
index 000000000..b8bc2cc63
--- /dev/null
+++ b/docker/ironic/ironic-pxe-filter/Dockerfile.j2
@@ -0,0 +1,24 @@
+FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+{% endblock %}
+
+{% block ironic_pxe_filter_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% set ironic_pxe_filter_packages = [] %}
+
+{% set ironic_pxe_filter_pip_packages = [] %}
+
+RUN {{ macros.install_pip(ironic_pxe_filter_pip_packages | customizable("pip_packages")) }}
+
+{{ macros.install_packages(ironic_pxe_filter_packages | customizable("packages")) }}
+
+{{ macros.kolla_patch_sources() }}
+
+COPY extend_start.sh /usr/local/bin/kolla_ironic_extend_start
+RUN chmod 644 /usr/local/bin/kolla_ironic_extend_start
+
+{% block ironic_pxe_filter_footer %}{% endblock %}
+{% block footer %}{% endblock %}
diff --git a/docker/ironic/ironic-pxe-filter/extend_start.sh b/docker/ironic/ironic-pxe-filter/extend_start.sh
new file mode 100644
index 000000000..c7a807c8d
--- /dev/null
+++ b/docker/ironic/ironic-pxe-filter/extend_start.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+IRONIC_DHCP_HOSTS_DIR=${IRONIC_DHCP_HOSTS_DIR:-/etc/dnsmasq/dhcp-hostsdir}
+DNSMASQ_PIDFILE=${DNSMASQ_PIDFILE:-/run/ironic/dnsmasq.pid}
+
+# NOTE(wszumski): This container must be in same process namespace as dnsmasq
+rm -f $IRONIC_DHCP_HOSTS_DIR/* && kill -HUP $(cat "$DNSMASQ_PIDFILE") || true