kolla/docker/bifrost/bifrost-deploy/Dockerfile.j2
Mark Goddard 6258a920fd Clear ENTRYPOINT configuration for Bifrost
Bifrost was broken by the recent kolla change [1] to use an ENTRYPOINT
for dumb-init. The container failed to start because dumb-init was
trying to run /sbin/init, which expects to be pid 1.

[1] Id91ebb8b0ecc43946845de386350af0536dd661f

Change-Id: Id77ecfca09dfda8da984589f70a26433214ee3af
Closes-Bug: #1808326
Related-Bug: #1799642
2018-12-13 15:03:16 +00:00

63 lines
2.2 KiB
Django/Jinja

FROM {{ namespace }}/{{ image_prefix }}bifrost-base:{{ tag }}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% block bifrost_deploy_header %}{% endblock %}
ENV container docker
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'oraclelinux', 'rhel', 'debian'] or (base_distro == 'ubuntu' and base_distro_tag == '16.04') %}
RUN rm -f $(find /lib/systemd/system/sysinit.target.wants/ ! -name systemd-tmpfiles-setup.service -type l); \
rm -f /lib/systemd/system/multi-user.target.wants/*; \
rm -f /etc/systemd/system/*.wants/*; \
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*; \
rm -f /lib/systemd/system/anaconda.target.wants/*;
{% elif base_distro in ['ubuntu'] %}
# derived from https://raw.githubusercontent.com/tianon/dockerfiles/4d24a12b54b75b3e0904d8a285900d88d3326361/sbin-init/ubuntu/upstart/14.04/Dockerfile
ADD init-fake.conf /etc/init/fake-container-events.conf
# undo some leet hax of the base image
RUN rm /usr/sbin/policy-rc.d; \
rm /sbin/initctl; dpkg-divert --rename --remove /sbin/initctl
# remove some pointless services
RUN /usr/sbin/update-rc.d -f ondemand remove; \
for f in \
/etc/init/u*.conf \
/etc/init/mounted-dev.conf \
/etc/init/mounted-proc.conf \
/etc/init/mounted-run.conf \
/etc/init/mounted-tmp.conf \
/etc/init/mounted-var.conf \
/etc/init/hostname.conf \
/etc/init/networking.conf \
/etc/init/tty*.conf \
/etc/init/plymouth*.conf \
/etc/init/hwclock*.conf \
/etc/init/module*.conf\
; do \
dpkg-divert --local --rename --add "$f"; \
done; \
echo '# /lib/init/fstab: cleared out for bare-bones Docker' > /lib/init/fstab
{% endif %}
{% set bifrost_deploy_packages = [
'e2fsprogs'
] %}
{{ macros.install_packages(bifrost_deploy_packages | customizable("packages")) }}
# Clear any customisation by Kolla to entrypoint & command
ENTRYPOINT []
CMD [ "/sbin/init" ]
{% block bifrost_deploy_footer %}{% endblock %}
{% block footer %}{% endblock %}