From 7129203bdb46b290f92d51a8efb5709eb66ea078 Mon Sep 17 00:00:00 2001 From: Eduardo Gonzalez Date: Fri, 19 May 2017 17:52:55 +0200 Subject: [PATCH] ODL installed for source images ODL is an infrastructure service, in kolla we do not support source installs for non OpenStack projects. This change install odl from binaries to all install_types, installing source code is still supported from template-overrides Change-Id: Ie60d35d1df6b7acd62cd529b0208d1c18bd7ee5a --- .../opendaylight-template-overrides.j2 | 2 +- docker/opendaylight/Dockerfile.j2 | 37 +++++++++---------- tests/test_build.py | 4 -- 3 files changed, 18 insertions(+), 25 deletions(-) diff --git a/contrib/template-override/opendaylight-template-overrides.j2 b/contrib/template-override/opendaylight-template-overrides.j2 index f6e1777ba3..038f017dac 100644 --- a/contrib/template-override/opendaylight-template-overrides.j2 +++ b/contrib/template-override/opendaylight-template-overrides.j2 @@ -5,7 +5,7 @@ ADD plugins-archive / RUN pip --no-cache-dir install /plugins/* {% endblock %} -{% block opendaylight_source_install %} +{% block opendaylight_install %} {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} {% set opendaylight_packages = ['java-1.8.0-openjdk'] %} {% elif base_distro in ['ubuntu', 'debian'] %} diff --git a/docker/opendaylight/Dockerfile.j2 b/docker/opendaylight/Dockerfile.j2 index 7551c3ce77..1b5f76a352 100644 --- a/docker/opendaylight/Dockerfile.j2 +++ b/docker/opendaylight/Dockerfile.j2 @@ -7,39 +7,36 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {{ macros.configure_user(name='odl') }} -{% if install_type == 'binary' %} - {% set opendaylight_packages = ['opendaylight'] %} - {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} +{% block opendaylight_install %} - {% if opendaylight_repo is not defined %} +{% set opendaylight_packages = ['opendaylight'] %} +{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + + {% if opendaylight_repo is not defined %} {% set opendaylight_repo = 'opendaylight.repo' %} - {% endif %} + {% endif %} + COPY {{ opendaylight_repo }} /etc/yum.repos.d/ - {% elif base_distro in ['debian', 'ubuntu'] %} - {% if base_distro in 'debian' %} - {% if odl_release_deb_url is not defined %} - {% set odl_release_deb_url = 'http://download.opensuse.org/repositories/home:/akshitajha/Debian_8.0/' %} - {% endif %} -RUN sh -c "echo 'deb {{ odl_release_deb_url }} /' > /etc/apt/sources.list.d/opendaylight.list" +{% elif base_distro in ['debian', 'ubuntu'] %} + {% if base_distro in 'debian' %} + {% if odl_release_deb_url is not defined %} + {% set odl_release_deb_url = 'http://download.opensuse.org/repositories/home:/akshitajha/Debian_8.0/' %} {% endif %} +RUN sh -c "echo 'deb {{ odl_release_deb_url }} /' > /etc/apt/sources.list.d/opendaylight.list" + {% endif %} # 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 %} - {{ macros.debian_opendaylight_existing_user_fix() }} - {% endblock %} - {% endif %} + {% block debian_opendaylight_install_fix_block %} + {{ macros.debian_opendaylight_existing_user_fix() }} + {% endblock %} +{% endif %} {{ macros.install_packages(opendaylight_packages | customizable("packages")) }} -{% elif install_type == 'source' %} -{% block opendaylight_source_install %} -RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ - && /bin/false {% endblock %} -{% endif %} COPY extend_start.sh /usr/local/bin/kolla_extend_start RUN chmod 755 /usr/local/bin/kolla_extend_start diff --git a/tests/test_build.py b/tests/test_build.py index 49e074da72..9749dc245a 100644 --- a/tests/test_build.py +++ b/tests/test_build.py @@ -102,7 +102,6 @@ class BuildTestCentosSource(BuildTest, base.BaseTestCase): "bifrost-base", "kafka", "mistral-base", - "opendaylight", "ovsdpdk", ] @@ -148,7 +147,6 @@ class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase): class BuildTestUbuntuSource(BuildTest, base.BaseTestCase): excluded_images = [ "bifrost-base", - "opendaylight", ] def setUp(self): @@ -194,7 +192,6 @@ class BuildTestDebianBinary(BuildTest, base.BaseTestCase): class BuildTestDebianSource(BuildTest, base.BaseTestCase): excluded_images = [ "bifrost-base", - "opendaylight", "sensu-base", ] @@ -234,7 +231,6 @@ class BuildTestOracleLinuxSource(BuildTest, base.BaseTestCase): excluded_images = [ "bifrost-base", "kafka", - "opendaylight", "ovsdpdk", ]