From bfc72492e7a10221237261e276f8b8d1fefa70e3 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Thu, 4 May 2017 15:54:21 +0200 Subject: [PATCH] always update APT lists when install packages Normally we update APT lists when 'base' image is built. But when some time pass those lists get out-of-date and images can not be built. CentOS based images handle that without issues because YUM updates repository data whenever they are out-of-date. Change-Id: I5ba5b2067566639b399329b878027d4513567f71 --- docker/opendaylight/Dockerfile.j2 | 3 +-- kolla/template/methods.py | 1 + kolla/tests/test_methods.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/opendaylight/Dockerfile.j2 b/docker/opendaylight/Dockerfile.j2 index a3b3239816..f6775c21df 100644 --- a/docker/opendaylight/Dockerfile.j2 +++ b/docker/opendaylight/Dockerfile.j2 @@ -24,8 +24,7 @@ COPY {{ opendaylight_repo }} /etc/yum.repos.d/ {% set odl_release_deb_url = 'http://download.opensuse.org/repositories/home:/akshitajha/Debian_8.0/' %} {% endif %} {% endif %} -RUN sh -c "echo 'deb {{ odl_release_deb_url }} /' > /etc/apt/sources.list.d/opendaylight.list" \ -&& apt-get update +RUN sh -c "echo 'deb {{ odl_release_deb_url }} /' > /etc/apt/sources.list.d/opendaylight.list" {% endif %} {{ macros.install_packages(opendaylight_packages | customizable("packages")) }} diff --git a/kolla/template/methods.py b/kolla/template/methods.py index 7a6ac8d64f..06a97afa83 100644 --- a/kolla/template/methods.py +++ b/kolla/template/methods.py @@ -44,6 +44,7 @@ def debian_package_install(packages): # handle the apt-get install if reg_packages: + cmds.append('apt-get update') cmds.append('apt-get -y install --no-install-recommends {}'.format( ' '.join(reg_packages) )) diff --git a/kolla/tests/test_methods.py b/kolla/tests/test_methods.py index dce013d679..1fb5dfa19f 100644 --- a/kolla/tests/test_methods.py +++ b/kolla/tests/test_methods.py @@ -19,5 +19,5 @@ class MethodsTest(base.TestCase): def test_debian_package_install(self): packages = ['https://packages.debian.org/package1.deb', 'package2.deb'] result = methods.debian_package_install(packages) - expectCmd = 'apt-get -y install --no-install-recommends package2.deb ' - self.assertEqual(expectCmd, result.split("&&")[0]) + expectCmd = 'apt-get -y install --no-install-recommends package2.deb' + self.assertEqual(expectCmd, result.split("&&")[1].strip())