Skip to content
Snippets Groups Projects
Commit 4044a347 authored by Jeffrey Zhang's avatar Jeffrey Zhang
Browse files

Pin the base distro release version

Pin the base distro release version in the master branch(Newton).
Only one distro version is supported. The supported versions are:

* CentOS: 7
* RedHat: 7
* OracleLinux: 7
* Debian: 8
* Ubuntu: 14.04

NOTE: Kolla will move to Ubuntu 16.04 in the Newton cycle

DocImpact
TrivialFix

Change-Id: I32c0edbee4de14c8a0cc7c961d566e84d70f19a4
parent 3545e6d5
No related branches found
No related tags found
No related merge requests found
......@@ -24,6 +24,9 @@ ENV PS1="$(tput bold)($(printenv KOLLA_SERVICE_NAME))$(tput sgr0)[$(id -un)@$(ho
{% if base_distro in ['fedora', 'centos', 'oraclelinux', 'rhel'] %}
RUN if [ $(awk '{match($0, /[0-9]+/,version)}END{print version[0]}' /etc/system-release) != "{{ supported_distro_release }}" ]; then \
echo "Only supported {{ supported_distro_release }} release on {{ base_distro }}"; false; fi
# Customize PS1 bash shell
RUN cat /tmp/kolla_bashrc >> /etc/bashrc
......@@ -181,6 +184,9 @@ RUN yum -y install \
{# endif for base_distro centos,fedora,oraclelinux,rhel #}
{% elif base_distro in ['ubuntu', 'debian'] %}
RUN if [ $(awk -F '=' '/DISTRIB_RELEASE/{print $2}' /etc/lsb-release) != "{{ supported_distro_release }}" ]; then \
echo "Only supported {{ supported_distro_release }} release on {{ base_distro }}"; false; fi
# Customize PS1 bash shell
RUN cat /tmp/kolla_bashrc >> /etc/bash.bashrc
......
......@@ -353,11 +353,6 @@ class KollaWorker(object):
self.namespace = conf.namespace
self.base = conf.base
self.base_tag = conf.base_tag
if self.base == 'ubuntu' and self.base_tag == 'latest':
self.base_tag = '14.04'
# TODO(inc0): This will override default latest, which is xenial
# if someone actually set up latest in their conf, it will be
# overriden as well
self.install_type = conf.install_type
self.tag = conf.tag
self.images = list()
......@@ -481,6 +476,8 @@ class KollaWorker(object):
def create_dockerfiles(self):
kolla_version = version.version_info.cached_version_string()
supported_distro_release = common_config.DISTRO_RELEASE.get(
self.base)
for path in self.docker_build_paths:
template_name = "Dockerfile.j2"
env = jinja2.Environment( # nosec: not used to render HTML
......@@ -489,6 +486,7 @@ class KollaWorker(object):
values = {'base_distro': self.base,
'base_image': self.conf.base_image,
'base_distro_tag': self.base_tag,
'supported_distro_release': supported_distro_release,
'install_metatype': self.install_metatype,
'image_prefix': self.image_prefix,
'install_type': self.install_type,
......
......@@ -18,7 +18,14 @@ from oslo_config import types
from kolla.version import version_info as version
BASE_OS_DISTRO = ['centos', 'ubuntu', 'oraclelinux']
BASE_OS_DISTRO = ['centos', 'ubuntu', 'oraclelinux', 'debian']
DISTRO_RELEASE = {
'centos': '7',
'redhat': '7',
'oraclelinux': '7',
'debian': '8',
'ubuntu': '14.04',
}
RDO_MIRROR = "http://trunk.rdoproject.org/centos7"
DELOREAN = "{}/current-passed-ci/delorean.repo".format(RDO_MIRROR)
DELOREAN_DEPS = "{}/delorean-deps.repo".format(RDO_MIRROR)
......@@ -290,5 +297,10 @@ def parse(conf, args, usage=None, prog=None,
prog=prog,
version=version.cached_version_string(),
default_config_files=default_config_files)
# NOTE(jeffrey4l): set the default base tag based on the
# base option
conf.set_default('base_tag', DISTRO_RELEASE.get(conf.base))
if not conf.base_image:
conf.base_image = conf.base
---
features:
- Pin the base distro release version.
issues:
- Ubuntu 14.04 is eol. We should move to Ubuntu 16.04 in
Newton cycle.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment