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
This commit is contained in:
parent
3545e6d503
commit
4044a3475e
@ -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'] %}
|
{% 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
|
# Customize PS1 bash shell
|
||||||
RUN cat /tmp/kolla_bashrc >> /etc/bashrc
|
RUN cat /tmp/kolla_bashrc >> /etc/bashrc
|
||||||
|
|
||||||
@ -181,6 +184,9 @@ RUN yum -y install \
|
|||||||
{# endif for base_distro centos,fedora,oraclelinux,rhel #}
|
{# endif for base_distro centos,fedora,oraclelinux,rhel #}
|
||||||
{% elif base_distro in ['ubuntu', 'debian'] %}
|
{% 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
|
# Customize PS1 bash shell
|
||||||
RUN cat /tmp/kolla_bashrc >> /etc/bash.bashrc
|
RUN cat /tmp/kolla_bashrc >> /etc/bash.bashrc
|
||||||
|
|
||||||
|
@ -353,11 +353,6 @@ class KollaWorker(object):
|
|||||||
self.namespace = conf.namespace
|
self.namespace = conf.namespace
|
||||||
self.base = conf.base
|
self.base = conf.base
|
||||||
self.base_tag = conf.base_tag
|
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.install_type = conf.install_type
|
||||||
self.tag = conf.tag
|
self.tag = conf.tag
|
||||||
self.images = list()
|
self.images = list()
|
||||||
@ -481,6 +476,8 @@ class KollaWorker(object):
|
|||||||
|
|
||||||
def create_dockerfiles(self):
|
def create_dockerfiles(self):
|
||||||
kolla_version = version.version_info.cached_version_string()
|
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:
|
for path in self.docker_build_paths:
|
||||||
template_name = "Dockerfile.j2"
|
template_name = "Dockerfile.j2"
|
||||||
env = jinja2.Environment( # nosec: not used to render HTML
|
env = jinja2.Environment( # nosec: not used to render HTML
|
||||||
@ -489,6 +486,7 @@ class KollaWorker(object):
|
|||||||
values = {'base_distro': self.base,
|
values = {'base_distro': self.base,
|
||||||
'base_image': self.conf.base_image,
|
'base_image': self.conf.base_image,
|
||||||
'base_distro_tag': self.base_tag,
|
'base_distro_tag': self.base_tag,
|
||||||
|
'supported_distro_release': supported_distro_release,
|
||||||
'install_metatype': self.install_metatype,
|
'install_metatype': self.install_metatype,
|
||||||
'image_prefix': self.image_prefix,
|
'image_prefix': self.image_prefix,
|
||||||
'install_type': self.install_type,
|
'install_type': self.install_type,
|
||||||
|
@ -18,7 +18,14 @@ from oslo_config import types
|
|||||||
from kolla.version import version_info as version
|
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"
|
RDO_MIRROR = "http://trunk.rdoproject.org/centos7"
|
||||||
DELOREAN = "{}/current-passed-ci/delorean.repo".format(RDO_MIRROR)
|
DELOREAN = "{}/current-passed-ci/delorean.repo".format(RDO_MIRROR)
|
||||||
DELOREAN_DEPS = "{}/delorean-deps.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,
|
prog=prog,
|
||||||
version=version.cached_version_string(),
|
version=version.cached_version_string(),
|
||||||
default_config_files=default_config_files)
|
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:
|
if not conf.base_image:
|
||||||
conf.base_image = conf.base
|
conf.base_image = conf.base
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- Pin the base distro release version.
|
||||||
|
issues:
|
||||||
|
- Ubuntu 14.04 is eol. We should move to Ubuntu 16.04 in
|
||||||
|
Newton cycle.
|
Loading…
Reference in New Issue
Block a user