aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorChao Guo <guochao@winhong.com>2016-12-16 12:43:09 +0800
committerChao Guo <guochao@winhong.com>2016-12-20 10:35:15 +0800
commit91fd0196d40db7e6f1a69658267fc1a617f3bc6e (patch)
tree0d32b6befb5bfe7ab4dde8edd2d093687989a33d /docker
parentd023e8623069926c6ef9e50c17685ce508f27ba8 (diff)
downloadkolla-91fd0196d40db7e6f1a69658267fc1a617f3bc6e.tar.gz
kolla-91fd0196d40db7e6f1a69658267fc1a617f3bc6e.zip
Readability improvement to base image
Improve the dockerfile readability, eliminate some long lines. Change-Id: Ia8fc3478950855e1867dd30fa2fc47b8e3df22f8
Diffstat (limited to 'docker')
-rw-r--r--docker/base/Dockerfile.j246
1 files changed, 33 insertions, 13 deletions
diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2
index d21e9c0ea..ed94a6c34 100644
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -26,7 +26,8 @@ ENV PS1="$(tput bold)($(printenv KOLLA_SERVICE_NAME))$(tput sgr0)[$(id -un)@$(ho
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
-RUN if [ $(awk '{match($0, /[0-9]+/,version)}END{print version[0]}' /etc/system-release) != "{{ supported_distro_release }}" ]; then \
+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 supported {{ supported_distro_release }} release on {{ base_distro }}"; false; \
fi \
&& cat /tmp/kolla_bashrc >> /etc/bashrc \
@@ -41,9 +42,9 @@ RUN if [ $(awk '{match($0, /[0-9]+/,version)}END{print version[0]}' /etc/system-
'influxdb.repo',
'grafana.repo'
] %}
-{% for repo_file in base_yum_repo_files | customizable('yum_repo_files') %}
+{%- for repo_file in base_yum_repo_files | customizable('yum_repo_files') %}
COPY {{ repo_file }} /etc/yum.repos.d/{{ repo_file }}
-{% endfor %}
+{%- endfor %}
{% set base_yum_url_packages = [
'http://repo.percona.com/release/7/RPMS/x86_64/percona-release-0.1-4.noarch.rpm'
@@ -58,7 +59,12 @@ COPY {{ repo_file }} /etc/yum.repos.d/{{ repo_file }}
'https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana'
] %}
-RUN true {% for key in base_yum_repo_keys | customizable('yum_repo_keys') %}&& rpm --import {{ key }} {% endfor %}
+{%- for key in base_yum_repo_keys | customizable('yum_repo_keys') %}
+{%- if loop.first %}RUN {% else %} && {% endif -%}
+ rpm --import {{ key }}
+{%- if not loop.last %} \{% endif %}
+{% endfor -%}
+
{% if install_metatype in ['rdo', 'mixed'] %}
{% for cmd in rpm_setup %}
@@ -93,8 +99,12 @@ RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
] %}
{{ macros.install_packages(base_centos_yum_repo_packages | customizable("yum_centos_repo_packages")) }}
-RUN true \
-{% for key in base_centos_yum_repo_keys | customizable('yum_centos_repo_keys') %} && rpm --import {{ key }}{% endfor %} && yum clean all
+{% for key in base_centos_yum_repo_keys | customizable('yum_centos_repo_keys') %}
+ {%- if loop.first %}RUN {% else %} && {% endif -%}
+ rpm --import {{ key }} \
+{% endfor -%}
+{%- if base_centos_yum_repo_keys|length ==0 %}RUN {% else %} && {% endif -%}
+ yum clean all
{% endif %}
{# Endif for base_distro centos #}
@@ -242,19 +252,29 @@ COPY apt_preferences.{{ base_distro }} /etc/apt/preferences
{% endif %}
{% block base_ubuntu_package_installation %}
-RUN true \
- {% for key in base_apt_keys | customizable('apt_keys') %}
- && apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 {{ key }} \
- {% endfor %}
- && apt-get update \
+{%- for key in base_apt_keys | customizable('apt_keys') %}
+ {%- if loop.first %}RUN {% else %} && {% endif -%}
+ apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 {{ key }} \
+{% endfor -%}
+{%- if base_apt_keys|length ==0 %}RUN {% else %} && {% endif -%}
+ apt-get update \
&& apt-get -y upgrade \
&& apt-get -y dist-upgrade \
- && apt-get -y install --no-install-recommends {% for package in base_apt_packages | customizable('apt_packages') %}{{ package }} {% endfor %} \
+ && apt-get -y install --no-install-recommends \
+ {%- for package in base_apt_packages | customizable('apt_packages') %}
+ {{ package }} \
+ {%- endfor %}
&& apt-get clean
{% endblock %}
{% if base_distro == 'ubuntu' %}
-RUN sed -i "s|'purelib': '\$base/local/lib/python\$py_version_short/dist-packages',|'purelib': '\$base/lib/python\$py_version_short/dist-packages',|;s|'platlib': '\$platbase/local/lib/python\$py_version_short/dist-packages',|'platlib': '\$platbase/lib/python\$py_version_short/dist-packages',|;s|'headers': '\$base/local/include/python\$py_version_short/\$dist_name',|'headers': '\$base/include/python\$py_version_short/\$dist_name',|;s|'scripts': '\$base/local/bin',|'scripts': '\$base/bin',|;s|'data' : '\$base/local',|'data' : '\$base',|" /usr/lib/python2.7/distutils/command/install.py \
+RUN sed -i \
+ -e "s|\('purelib': '\$base/\)local/\(lib/python\$py_version_short/dist-packages',\)|\1\2|" \
+ -e "s|\('platlib': '\$platbase/\)local/\(lib/python\$py_version_short/dist-packages',\)|\1\2|" \
+ -e "s|\('headers': '\$base/\)local/\(include/python\$py_version_short/\$dist_name',\)|\1\2|" \
+ -e "s|\('scripts': '\$base/\)local/\(bin',\)|\1\2|" \
+ -e "s|\('data' : '\$base\)/local\(',\)|\1\2|" \
+ /usr/lib/python2.7/distutils/command/install.py \
&& rm -rf /usr/lib/python2.7/site-packages \
&& ln -s dist-packages /usr/lib/python2.7/site-packages
{% endif %}