diff options
| -rw-r--r-- | docker/base/Dockerfile.j2 | 17 | ||||
| -rwxr-xr-x | kolla/common/config.py | 11 | ||||
| -rwxr-xr-x | kolla/image/build.py | 4 |
3 files changed, 14 insertions, 18 deletions
diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2 index ddc67e3cd..839dae24a 100644 --- a/docker/base/Dockerfile.j2 +++ b/docker/base/Dockerfile.j2 @@ -3,6 +3,11 @@ FROM {{ base_image }}:{{ base_distro_tag }} LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" {% endblock %} +RUN . /etc/os-release;\ + if [ "${PRETTY_NAME#{{ supported_distro_name }}}" = "$PRETTY_NAME" ]; then \ + echo "Only releases \"{{ supported_distro_name }}\" are supported on {{ base_distro }}"; false; \ + fi + # We use curl in this dockerfile so let configure it before first use COPY curlrc /root/.curlrc @@ -45,11 +50,7 @@ ENV PS1="$(tput bold)($(printenv KOLLA_SERVICE_NAME))$(tput sgr0)[$(id -un)@$(ho # enables to provide repo overrides at a later date in a simple fashion if we # desire such functionality. I think we will :) -RUN CURRENT_DISTRO_RELEASE=$(awk '{match($0, /[0-9]+/,version)}END{print version[0]}' /etc/system-release); \ - if [ $CURRENT_DISTRO_RELEASE != "{{ supported_distro_release }}" ]; then \ - echo "Only releases '{{ supported_distro_release }}' are supported on {{ base_distro }}"; false; \ - fi \ - && cat /tmp/kolla_bashrc >> /etc/bashrc \ +RUN cat /tmp/kolla_bashrc >> /etc/bashrc \ && sed -i 's|^\(override_install_langs=.*\)|# \1|' /etc/dnf/dnf.conf {% block base_dnf_conf %} @@ -286,12 +287,6 @@ RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("cen {# endif for base_package_type rpm #} {% elif base_package_type == 'deb' %} -# Ensure lsb_release exists -{{ macros.install_packages(['lsb-release']) }} - -RUN RELEASE=$(lsb_release -r -s); if [ $RELEASE != "{{ supported_distro_release }}" ]; then \ - echo "Only release '{{ supported_distro_release }}' is supported on {{ base_distro }} while you have '$RELEASE'."; false; fi - # Customize PS1 bash shell # enlarge 'system users' range so 'haproxy' package will not complain # see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939470 diff --git a/kolla/common/config.py b/kolla/common/config.py index 23e5ead40..9e56a1ee2 100755 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -27,11 +27,12 @@ DEFAULT_BASE_TAGS = { 'debian': {'name': 'debian', 'tag': 'bullseye'}, 'ubuntu': {'name': 'ubuntu', 'tag': '20.04'}, } -DISTRO_RELEASE = { - 'centos': '8', - 'rhel': '8', - 'debian': 'testing/unstable', - 'ubuntu': '20.04', +# NOTE(hrw): has to match PRETTY_NAME in /etc/os-release +DISTRO_PRETTY_NAME = { + 'centos': 'CentOS Stream 8', + 'rhel': 'Red Hat Enterprise Linux 8', + 'debian': 'Debian GNU/Linux bullseye', + 'ubuntu': 'Ubuntu 20.04', } OPENSTACK_RELEASE = 'wallaby' diff --git a/kolla/image/build.py b/kolla/image/build.py index 27006e1ac..d09a8b5e9 100755 --- a/kolla/image/build.py +++ b/kolla/image/build.py @@ -914,7 +914,7 @@ class KollaWorker(object): def create_dockerfiles(self): kolla_version = version.version_info.cached_version_string() - supported_distro_release = common_config.DISTRO_RELEASE.get( + supported_distro_name = common_config.DISTRO_PRETTY_NAME.get( self.base) for path in self.docker_build_paths: template_name = "Dockerfile.j2" @@ -930,7 +930,7 @@ class KollaWorker(object): 'base_package_type': self.base_package_type, 'debian_arch': self.debian_arch, 'docker_healthchecks': self.docker_healthchecks, - 'supported_distro_release': supported_distro_release, + 'supported_distro_name': supported_distro_name, 'install_metatype': self.install_metatype, 'image_prefix': self.image_prefix, 'infra_image_prefix': self.infra_image_prefix, |
