From 5855a07212d8f1daba20ab297d9b4f3089d53a39 Mon Sep 17 00:00:00 2001 From: Andrey Shestakov Date: Tue, 26 Jan 2016 16:56:26 +0200 Subject: Add bootstrap task for ironic-pxe PXE files should be copied after volume mount to avoid overwrite. Change-Id: I023cc316e6873abd658478dfa05be839e44a80c7 Closes-bug: #1538164 --- docker/ironic/ironic-pxe/Dockerfile.j2 | 11 ++++------- docker/ironic/ironic-pxe/extend_start.sh | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 docker/ironic/ironic-pxe/extend_start.sh (limited to 'docker') diff --git a/docker/ironic/ironic-pxe/Dockerfile.j2 b/docker/ironic/ironic-pxe/Dockerfile.j2 index da2adbe5e..bda9a9bdd 100644 --- a/docker/ironic/ironic-pxe/Dockerfile.j2 +++ b/docker/ironic/ironic-pxe/Dockerfile.j2 @@ -6,9 +6,7 @@ MAINTAINER {{ maintainer }} RUN yum -y install \ tftp-server \ syslinux-tftpboot \ - && yum clean all \ - && mkdir -p /tftpboot \ - && cp /var/lib/tftpboot/chain.c32 /tftpboot + && yum clean all {% elif base_distro in ['ubuntu', 'debian'] %} @@ -16,13 +14,12 @@ RUN apt-get install -y --no-install-recommends \ tftpd-hpa \ syslinux-common \ syslinux \ - && apt-get clean \ - && mkdir -p /tftpboot \ - && chown -R ironic: /tftpboot \ - && cp /usr/lib/syslinux/pxelinux.0 /usr/lib/syslinux/chain.c32 /tftpboot + && apt-get clean {% endif %} COPY tftp-map-file /map-file +COPY extend_start.sh /usr/local/bin/kolla_extend_start +RUN chmod 755 /usr/local/bin/kolla_extend_start {{ include_footer }} diff --git a/docker/ironic/ironic-pxe/extend_start.sh b/docker/ironic/ironic-pxe/extend_start.sh new file mode 100644 index 000000000..0f5fcd679 --- /dev/null +++ b/docker/ironic/ironic-pxe/extend_start.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases +# of the KOLLA_BOOTSTRAP variable being set, including empty. +if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then + chown -R ironic: /tftpboot + for pxe_file in /var/lib/tftpboot/chain.c32 /usr/lib/syslinux/pxelinux.0 /usr/lib/syslinux/chain.c32; do + if [[ -e "$pxe_file" ]]; then + cp "$pxe_file" /tftpboot + fi + done + exit 0 +fi + -- cgit v1.2.3