Fixes for building images with CoreOS

This patch includes various fixes for building the IPA image
using CoreOS:
- switch to Debian Stretch as Jessie is no longer supported and
its repo is not available anymore.
- install setuptools into the environment explicitly, since some
dependencies fail to install without it.
- Remove metadata_csum option when creating filesystems since
cirros doesn't support it.

(cherry picked from commit ac4904ed96)
(cherry picked from commit 4e086f9f0f)

Change-Id: I6772e455f5d1ee7587c2dc43203b02e5e54cb714
This commit is contained in:
Riccardo Pittau 2019-05-06 17:00:23 +02:00
parent ddc2c865bf
commit 227a769cad
1 changed files with 8 additions and 7 deletions

View File

@ -1,4 +1,4 @@
FROM debian:jessie
FROM debian:stretch
# The add is before the RUN to ensure we get the latest version of packages
# Docker will cache RUN commands, but because the SHA1 of the dir will be
@ -16,9 +16,6 @@ COPY proxy.sh /usr/bin/proxy.sh
# Ensure we hit a single mirror for builds, since httpredir is flakey
RUN sed -i 's/httpredir/http.us/g' /etc/apt/sources.list
# Add 'backports' for qemu-utils
RUN echo 'deb http://http.us.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/backports.list
# Install requirements: Python for ironic-python-agent, others for putting an
# image on disk
RUN proxy.sh apt-get update && \
@ -27,8 +24,7 @@ RUN proxy.sh apt-get update && \
python2.7 python2.7-dev python-pip qemu-utils parted hdparm \
util-linux genisoimage git gcc bash coreutils tgt dmidecode \
ipmitool psmisc dosfstools bsdmainutils open-iscsi udev \
smartmontools iptables lshw && \
proxy.sh apt-get --only-upgrade -t jessie-backports install -y qemu-utils
smartmontools iptables lshw
# Some cleanup
RUN proxy.sh apt-get -y autoremove && \
@ -40,7 +36,7 @@ RUN apt-mark manual python-minimal
# Install requirements separately, because pip understands a git+https url
# while setuptools doesn't
RUN proxy.sh pip install --upgrade pip
RUN proxy.sh pip install --upgrade pip setuptools
RUN proxy.sh pip install -c /tmp/ironic-python-agent/upper-constraints.txt --no-cache-dir -r /tmp/ironic-python-agent/requirements.txt
# This will succeed because all the dependencies were installed previously
@ -55,4 +51,9 @@ RUN proxy.sh apt-get -y purge gcc-4.6 gcc python2.7-dev && \
RUN rm -rf /tmp/ironic-python-agent
RUN rm -rf /var/lib/apt/lists/*
# Remove metadata_csum option when creating filesystems
# since cirros doesn't support it.
# This option was added in Debian stretch as default.
RUN sed -i 's/,metadata_csum//g' /etc/mke2fs.conf
CMD [ "/usr/local/bin/ironic-python-agent" ]