aboutsummaryrefslogtreecommitdiff
path: root/kolla/docker/ironic/ironic-pxe/Dockerfile.j2
diff options
context:
space:
mode:
Diffstat (limited to 'kolla/docker/ironic/ironic-pxe/Dockerfile.j2')
-rw-r--r--kolla/docker/ironic/ironic-pxe/Dockerfile.j255
1 files changed, 55 insertions, 0 deletions
diff --git a/kolla/docker/ironic/ironic-pxe/Dockerfile.j2 b/kolla/docker/ironic/ironic-pxe/Dockerfile.j2
new file mode 100644
index 000000000..0475a5b05
--- /dev/null
+++ b/kolla/docker/ironic/ironic-pxe/Dockerfile.j2
@@ -0,0 +1,55 @@
+FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block ironic_pxe_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% if base_package_type == 'rpm' %}
+ {% set ironic_pxe_packages = [
+ 'dosfstools',
+ 'grub2-tools',
+ 'grub2-efi-*64',
+ 'grub2-efi-aa64-modules',
+ 'ipxe-bootimgs',
+ 'ipxe-bootimgs-aarch64',
+ 'mtools',
+ 'shim-*64',
+ 'syslinux-tftpboot',
+ 'tftp-server',
+ ] %}
+
+{{ macros.install_packages(ironic_pxe_packages | customizable("packages")) }}
+{% elif base_package_type == 'deb' %}
+ {% set ironic_pxe_packages = [
+ 'dosfstools',
+ 'grub-efi-*64-signed',
+ 'ipxe',
+ 'mtools',
+ 'pxelinux',
+ 'shim-signed',
+ 'syslinux-common',
+ 'tftpd-hpa'
+ ] %}
+
+ {% if base_arch == 'x86_64' %}
+ {% set ironic_pxe_packages = ironic_pxe_packages + [
+ 'syslinux'
+ ] %}
+ {% endif %}
+
+{{ macros.install_packages(ironic_pxe_packages | customizable("packages")) }}
+{% endif %}
+
+ENV TFTPBOOT_PATH=/tftpboot \
+ HTTPBOOT_PATH=/httpboot
+COPY tftp-map-file-template /map-file-template
+COPY extend_start.sh /usr/local/bin/kolla_ironic_extend_start
+RUN chmod 644 /usr/local/bin/kolla_ironic_extend_start
+
+{{ macros.kolla_patch_sources() }}
+
+{% block ironic_pxe_footer %}{% endblock %}
+{% block footer %}{% endblock %}