From 80805318232c2dfecbbf86cc2bb9e3e95e264a98 Mon Sep 17 00:00:00 2001 From: Eduardo Gonzalez Date: Mon, 26 Jun 2017 12:00:54 +0100 Subject: Add opendaylight install fix Opendaylight package fails to install with existing odl user. This change adds a macro to fix the package install. Similar to haproxy install fix. Change-Id: Ie646769fe12b8f3f4c758b678b23c2d98c2e8027 Closes-Bug: #1700502 --- docker/macros.j2 | 9 +++++++++ docker/opendaylight/Dockerfile.j2 | 9 +++++++++ 2 files changed, 18 insertions(+) (limited to 'docker') diff --git a/docker/macros.j2 b/docker/macros.j2 index 3be0ef5e1..9120b5142 100644 --- a/docker/macros.j2 +++ b/docker/macros.j2 @@ -49,6 +49,15 @@ RUN apt-get -y install --no-install-recommends haproxy \ && apt-get clean {% endmacro %} +{% macro debian_opendaylight_existing_user_fix() %} +{# NOTE(egonzalez): The postinst script breaks if the user 'odl' already exists #} +RUN apt-get update \ + && apt-get -y install --no-install-recommends opendaylight \ + || sed -i '/^\s*adduser/,+1 d' /var/lib/dpkg/info/opendaylight.postinst \ + && apt-get -y install -f \ + && apt-get clean +{% endmacro %} + {% macro install_kubectl() %} {% if base_arch == 'x86_64' %} ENV KUBE_ARCH=amd64 diff --git a/docker/opendaylight/Dockerfile.j2 b/docker/opendaylight/Dockerfile.j2 index 5b6b9f46f..311f8ffdc 100644 --- a/docker/opendaylight/Dockerfile.j2 +++ b/docker/opendaylight/Dockerfile.j2 @@ -25,6 +25,15 @@ COPY {{ opendaylight_repo }} /etc/yum.repos.d/ {% endif %} {% endif %} RUN sh -c "echo 'deb {{ odl_release_deb_url }} /' > /etc/apt/sources.list.d/opendaylight.list" + +# NOTE(egonzalez): ODL fails to install in debian family images with +# existing odl user. First install odl and then allow usage of +# install_packages macro for custom configs. + {% block debian_opendaylight_install_fix_block %} + {% if base_distro in ['debian', 'ubuntu'] %} + {{ macros.debian_opendaylight_existing_user_fix() }} + {% endif %} + {% endblock %} {% endif %} {{ macros.install_packages(opendaylight_packages | customizable("packages")) }} -- cgit v1.2.3