FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }} {% block labels %} LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" {% endblock %} {% block ironic_pxe_header %}{% endblock %} {% import "macros.j2" as macros with context %} {% if base_package_type == 'rpm' %} {% set ironic_pxe_packages = [ 'ipxe-bootimgs', 'tftp-server', ] %} {% if base_arch in ['x86_64', 'ppc64le'] %} {% set ironic_pxe_packages = ironic_pxe_packages + [ 'syslinux-tftpboot' ] %} {% endif %} # NOTE(hrw): RHEL and CentOS ship those packages on all grub architectures # (x86_64, ppc64le, aarch64, but not s390x), and therefore can be used on # any of them to support heterogeneous clusters with AArch64. {% if base_arch != 's390x' %} {% set ironic_pxe_packages = ironic_pxe_packages + [ 'grub2-tools', 'grub2-efi-aa64-modules' ] %} {% endif %} {{ macros.install_packages(ironic_pxe_packages | customizable("packages")) }} {% elif base_package_type == 'deb' %} {% set ironic_pxe_packages = [ 'ipxe', 'pxelinux', 'syslinux-common', 'tftpd-hpa' ] %} {% if base_arch == 'x86_64' %} {% set ironic_pxe_packages = ironic_pxe_packages + [ 'syslinux' ] %} {% elif base_arch == 'aarch64' %} {% set ironic_pxe_packages = ironic_pxe_packages + [ 'grub-efi-arm64' ] %} {% endif %} {{ macros.install_packages(ironic_pxe_packages | customizable("packages")) }} {% endif %} COPY tftp-map-file /map-file COPY extend_start.sh /usr/local/bin/kolla_ironic_extend_start RUN chmod 755 /usr/local/bin/kolla_ironic_extend_start {% block ironic_pxe_footer %}{% endblock %} {% block footer %}{% endblock %}