aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin André <m.andre@redhat.com>2017-05-17 11:03:51 +0200
committerMartin André <m.andre@redhat.com>2017-05-17 11:04:41 +0200
commitd0bc8931ad83776c324f808a9cb10801d32a948c (patch)
tree5b7d301a47a53bbadbff124fdaefc86985337b78
parent3fb53129e2106bee7eb5003e3484cec67cfd55b2 (diff)
downloadkolla-d0bc8931ad83776c324f808a9cb10801d32a948c.tar.gz
kolla-d0bc8931ad83776c324f808a9cb10801d32a948c.zip
Revert "Clean up base Dockerfile"
This reverts commit fd6d89c4953dace9b324c9de8303ec88a21a9710. Change-Id: I93252e459b97b7885432822ff86de6b261c420b2 Related-Bug: #1691413
-rw-r--r--docker/base/Dockerfile.j2333
-rw-r--r--docker/base/apt_distros.j2114
-rw-r--r--docker/base/rpm_distros.j2210
3 files changed, 328 insertions, 329 deletions
diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2
index 3c7879f3e..30a3150f0 100644
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -27,11 +27,334 @@ RUN cat /tmp/kolla_bashrc >> /etc/skel/.bashrc \
# PS1 var when used /bin/sh shell
ENV PS1="$(tput bold)($(printenv KOLLA_SERVICE_NAME))$(tput sgr0)[$(id -un)@$(hostname -s) $(pwd)]$ "
-{% if base_distro in ['centos', 'oraclelinux', 'rhel'] -%}
- {% include 'base/rpm_distros.j2' %}
-{%- elif base_distro in ['debian', 'ubuntu'] -%}
- {% include 'base/apt_distros.j2' %}
-{%- endif %}
+{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+# For RPM Variants, enable the correct repositories - this should all be done
+# in the base image so repos are consistent throughout the system. This also
+# 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 release '{{ supported_distro_release }}' is supported on {{ base_distro }}"; false; \
+ fi \
+ && cat /tmp/kolla_bashrc >> /etc/bashrc \
+ && sed -i 's|^\(override_install_langs=.*\)|# \1|' /etc/yum.conf
+
+#### BEGIN REPO ENABLEMENT
+{% set base_yum_repo_files = [
+ ] %}
+
+{% set base_yum_url_packages = [
+] %}
+
+{% set base_yum_repo_keys = [
+] %}
+
+{% if base_arch == 'aarch64' %}
+ {% set base_yum_repo_files = [
+ 'aarch64-cbs.repo'
+ ] %}
+
+{% elif base_arch == 'x86_64' %}
+ {% set base_yum_repo_files = [
+ 'elasticsearch.repo',
+ 'grafana.repo',
+ 'influxdb.repo',
+ 'kibana.yum.repo',
+ 'MariaDB.repo',
+ 'td.repo',
+ 'zookeeper.repo'
+ ] %}
+
+ {% set base_yum_url_packages = [
+ 'http://repo.percona.com/release/7/RPMS/x86_64/percona-release-0.1-4.noarch.rpm'
+ ] %}
+
+ {% set base_yum_repo_keys = [
+ 'http://yum.mariadb.org/RPM-GPG-KEY-MariaDB',
+ '/etc/pki/rpm-gpg/RPM-GPG-KEY-Percona',
+ 'https://packages.elastic.co/GPG-KEY-elasticsearch',
+ 'https://repos.influxdata.com/influxdb.key',
+ 'https://packagecloud.io/gpg.key',
+ 'https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana',
+ 'https://packages.treasuredata.com/GPG-KEY-td-agent'
+ ] %}
+{% endif %}
+
+{%- for repo_file in base_yum_repo_files | customizable('yum_repo_files') %}
+COPY {{ repo_file }} /etc/yum.repos.d/{{ repo_file }}
+{%- endfor %}
+
+{{ macros.install_packages(base_yum_url_packages | customizable("yum_url_packages")) }}
+
+{% 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 %}
+{{ cmd }}
+{% endfor %}
+
+ {% endif %}
+ {# endif for repo setup for all RHEL except RHEL OSP #}
+
+ {% if install_metatype == 'rhos' %}
+
+{% block base_rhos_repo_enablement %}
+# Turn on the RHOS 7.0 repo for RHOS
+RUN yum-config-manager --enable rhel-7-server-rpms \
+ && yum-config-manager --enable rhel-7-server-openstack-7.0-rpms
+{% endblock %}
+
+ {% endif %}
+
+ {% if base_distro == 'centos' %}
+
+{% block base_centos_gpg_key_import %}
+RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
+{% endblock %}
+
+{% set base_centos_yum_repo_keys = [
+] %}
+
+{% set base_centos_yum_repo_packages = [
+ 'epel-release',
+ 'yum-plugin-priorities'
+] %}
+
+{% if base_arch == 'x86_64' %}
+ {% set base_centos_yum_repo_keys = base_centos_yum_repo_keys + [
+ '/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage',
+ '/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization'
+ ] %}
+
+ {% set base_centos_yum_repo_packages = base_centos_yum_repo_packages + [
+ 'centos-release-ceph-jewel',
+ 'centos-release-qemu-ev'
+ ] %}
+{% endif %}
+
+{{ macros.install_packages(base_centos_yum_repo_packages | customizable("centos_yum_repo_packages")) }}
+{% for key in base_centos_yum_repo_keys | customizable('centos_yum_repo_keys') %}
+ {%- if loop.first %}RUN {% else %} && {% endif -%}
+ rpm --import {{ key }} \
+{% endfor -%}
+{%- if base_centos_yum_repo_keys|customizable('centos_yum_repo_keys')|length == 0 %}RUN {% else %} && {% endif -%}
+ yum clean all
+
+ {% endif %}
+ {# Endif for base_distro centos #}
+
+ {% if base_distro == 'rhel' %}
+
+{% block base_rhel_package_installation %}
+# Enable couple required repositories for all RHEL builds
+# Turn on EPEL throughout the build
+RUN yum -y install \
+ https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
+ && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 \
+ && yum -y install \
+ yum-plugin-priorities \
+ && yum clean all \
+ && yum-config-manager --enable rhel-7-server-optional-rpms \
+ && yum-config-manager --enable rhel-7-server-extras-rpms
+{% endblock %}
+
+ {% endif %}
+ {# Endif for base_distro RHEL #}
+
+ {% if base_distro == 'oraclelinux' %}
+
+{% block base_oraclelinux_package_installation %}
+COPY oraclelinux-extras.repo /etc/yum.repos.d/oraclelinux-extras.repo
+RUN yum -y install \
+ tar \
+ yum-utils \
+ https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
+ && rpm -Uvh --nodeps \
+ https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-mitaka/centos-release-openstack-mitaka-1-3.el7.noarch.rpm \
+ http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-ceph-jewel-1.0-1.el7.centos.noarch.rpm \
+ http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-qemu-ev-1.0-1.el7.noarch.rpm \
+ http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-virt-common-1-1.el7.centos.noarch.rpm \
+ http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-storage-common-1-2.el7.centos.noarch.rpm \
+ && sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS-*.repo \
+ && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 \
+ && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage \
+ && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization \
+ && yum-config-manager --enable ol7_optional_latest ol7_addons \
+ && yum -y install \
+ yum-plugin-priorities \
+ && yum clean all
+{% endblock %}
+
+ {% endif %}
+ {# Endif for base_distro oraclelinux #}
+
+#### END REPO ENABLEMENT
+
+{# We are back to the basic if conditional here which is:
+ if base_distro in ['centos', 'oraclelinux', 'rhel'] #}
+
+{% set base_compiler_packages = [
+ 'gcc',
+ 'glibc-static'
+] %}
+
+{% block base_redhat_binary_versionlock %}{% endblock %}
+ {% if install_type == 'binary' %}
+{% set base_centos_binary_packages = [
+ 'iproute',
+ 'iscsi-initiator-utils',
+ 'lvm2',
+ 'python',
+ 'scsi-target-utils',
+ 'sudo',
+ 'which'
+] %}
+# Install base packages
+{{ macros.install_packages( base_centos_binary_packages | customizable("centos_binary_packages")) }}
+ {% endif %}
+ {# Endif for install_type binary #}
+
+ {% if install_type == 'source' %}
+
+{% set base_centos_source_packages = [
+ 'curl',
+ 'iproute',
+ 'iscsi-initiator-utils',
+ 'lvm2',
+ 'scsi-target-utils',
+ 'sudo',
+ 'tar',
+ 'which'
+] %}
+# Update packages
+{{ macros.install_packages( base_centos_source_packages | customizable("centos_source_packages")) }}
+
+ {% endif %}
+ {# endif for install type is source for RPM based distros #}
+{# endif for base_distro centos,oraclelinux,rhel #}
+{% elif base_distro in ['debian', 'ubuntu'] %}
+
+RUN if [ $(awk -F '=' '/DISTRIB_RELEASE/{print $2}' /etc/lsb-release) != "{{ supported_distro_release }}" ]; then \
+ echo "Only release '{{ supported_distro_release }}' is supported on {{ base_distro }}"; false; fi
+
+# Customize PS1 bash shell
+RUN cat /tmp/kolla_bashrc >> /etc/bash.bashrc
+
+# This will prevent questions from being asked during the install
+ENV DEBIAN_FRONTEND noninteractive
+
+# Reducing disk footprint
+COPY dpkg_reducing_disk_footprint /etc/dpkg/dpkg.cfg.d/dpkg_reducing_disk_footprint
+
+{% block base_ubuntu_package_pre %}
+# Need apt-transport-https and ca-certificates before replacing sources.list or
+# apt-get update will not work if any repositories are accessed via HTTPS
+RUN apt-get update \
+ && apt-get -y install --no-install-recommends apt-transport-https ca-certificates gnupg dirmngr \
+ && apt-get clean
+{% endblock %}
+
+{% block base_ubuntu_package_sources_list %}
+{% if base_distro == 'debian' or ( base_distro == 'ubuntu' and base_arch == 'x86_64' ) %}
+COPY sources.list.{{ base_distro }} /etc/apt/sources.list
+{% else %}
+COPY sources.list.{{ base_distro }}.{{ base_arch }} /etc/apt/sources.list
+{% endif %}
+{% endblock %}
+
+{% block base_ubuntu_package_apt_preferences %}
+COPY apt_preferences.{{ base_distro }} /etc/apt/preferences
+{% endblock %}
+
+{% set base_apt_packages = [
+ 'apt-utils',
+ 'curl',
+ 'gawk',
+ 'iproute2',
+ 'kmod',
+ 'lvm2',
+ 'netbase',
+ 'open-iscsi',
+ 'python',
+ 'sudo',
+ 'tgt']
+%}
+{% set base_compiler_packages = [
+ 'build-essential'
+] %}
+
+{% if base_distro == 'ubuntu' %}
+ {# 05CE15085FC09D18E99EFB22684A14CF2582E0C5 -- InfluxDB Packaging Service <support@influxdb.com> #}
+ {# 177F4010FE56CA3336300305F1656F24C74CD1D8 -- MariaDB Signing Key <signing-key@mariadb.org> #}
+ {# 391A9AA2147192839E9DB0315EDB1B62EC4926EA -- Canonical Cloud Archive Signing Key <ftpmaster@canonical.com> #}
+ {# 418A7F2FB0E1E6E7EABF6FE8C2E73424D59097AB -- packagecloud ops (production key) <ops@packagecloud.io> #}
+ {# 46095ACC8548582C1A2699A9D27D666CD88E42B4 -- Elasticsearch (Elasticsearch Signing Key) <dev_ops@elasticsearch.org> #}
+ {# 4D1BB29D63D98E422B2113B19334A25F8507EFA5 -- Percona MySQL Development Team (Packaging key) <mysql-dev@percona.com> #}
+ {# 58118E89F3A912897C070ADBF76221572C52609D -- Docker Release Tool (releasedocker) <docker@docker.com> #}
+ {# 901F9177AB97ACBE -- Treasure Data, Inc (Treasure Agent Official Signing key) <support@treasure-data.com> #}
+ {% set base_apt_keys = [
+ '05CE15085FC09D18E99EFB22684A14CF2582E0C5',
+ '177F4010FE56CA3336300305F1656F24C74CD1D8',
+ '391A9AA2147192839E9DB0315EDB1B62EC4926EA',
+ '418A7F2FB0E1E6E7EABF6FE8C2E73424D59097AB',
+ '46095ACC8548582C1A2699A9D27D666CD88E42B4',
+ '4D1BB29D63D98E422B2113B19334A25F8507EFA5',
+ '58118E89F3A912897C070ADBF76221572C52609D',
+ '901F9177AB97ACBE',
+ ] %}
+{% elif base_distro == 'debian' %}
+ {% set base_apt_keys = [
+ '58118E89F3A912897C070ADBF76221572C52609D',
+ '0xcbcb082a1bb943db',
+ 'D27D666CD88E42B4',
+ '05CE15085FC09D18E99EFB22684A14CF2582E0C5',
+ '418A7F2FB0E1E6E7EABF6FE8C2E73424D59097AB',
+ '901F9177AB97ACBE',
+ 'E84AC2C0460F3994',
+ ] %}
+ {% set base_apt_packages = base_apt_packages +
+ ['sudo',]
+ %}
+{% endif %}
+
+{% block base_ubuntu_package_installation %}
+ {%- block base_ubuntu_package_key_installation %}
+ {%- 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 }}
+ {%- if not loop.last %} \
+ {% endif -%}
+ {% endfor %}
+ {% endblock %}
+RUN 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 clean
+{% endblock %}
+
+{% if base_distro == 'ubuntu' %}
+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 %}
+
+{# endif for base_distro debian, ubuntu #}
+{% endif %}
COPY set_configs.py /usr/local/bin/kolla_set_configs
COPY start.sh /usr/local/bin/kolla_start
diff --git a/docker/base/apt_distros.j2 b/docker/base/apt_distros.j2
deleted file mode 100644
index de03a82b4..000000000
--- a/docker/base/apt_distros.j2
+++ /dev/null
@@ -1,114 +0,0 @@
-RUN if [ $(awk -F '=' '/DISTRIB_RELEASE/{print $2}' /etc/lsb-release) != "{{ supported_distro_release }}" ]; then \
- echo "Only release '{{ supported_distro_release }}' is supported on {{ base_distro }}"; false; fi
-
-# Customize PS1 bash shell
-RUN cat /tmp/kolla_bashrc >> /etc/bash.bashrc
-
-# This will prevent questions from being asked during the install
-ENV DEBIAN_FRONTEND noninteractive
-
-# Reducing disk footprint
-COPY dpkg_reducing_disk_footprint /etc/dpkg/dpkg.cfg.d/dpkg_reducing_disk_footprint
-
-{% block base_ubuntu_package_pre %}
-# Need apt-transport-https and ca-certificates before replacing sources.list or
-# apt-get update will not work if any repositories are accessed via HTTPS
-RUN apt-get update \
- && apt-get -y install --no-install-recommends apt-transport-https ca-certificates gnupg dirmngr \
- && apt-get clean
-{% endblock %}
-
-{% block base_ubuntu_package_sources_list %}
-{% if base_distro == 'debian' or ( base_distro == 'ubuntu' and base_arch == 'x86_64' ) %}
-COPY sources.list.{{ base_distro }} /etc/apt/sources.list
-{% else %}
-COPY sources.list.{{ base_distro }}.{{ base_arch }} /etc/apt/sources.list
-{% endif %}
-{% endblock %}
-
-{% block base_ubuntu_package_apt_preferences %}
-COPY apt_preferences.{{ base_distro }} /etc/apt/preferences
-{% endblock %}
-
-{% set base_apt_packages = [
- 'apt-utils',
- 'curl',
- 'gawk',
- 'iproute2',
- 'kmod',
- 'lvm2',
- 'netbase',
- 'open-iscsi',
- 'python',
- 'sudo',
- 'tgt']
-%}
-{% set base_compiler_packages = [
- 'build-essential'
-] %}
-
-{% if base_distro == 'ubuntu' %}
- {# 05CE15085FC09D18E99EFB22684A14CF2582E0C5 -- InfluxDB Packaging Service <support@influxdb.com> #}
- {# 177F4010FE56CA3336300305F1656F24C74CD1D8 -- MariaDB Signing Key <signing-key@mariadb.org> #}
- {# 391A9AA2147192839E9DB0315EDB1B62EC4926EA -- Canonical Cloud Archive Signing Key <ftpmaster@canonical.com> #}
- {# 418A7F2FB0E1E6E7EABF6FE8C2E73424D59097AB -- packagecloud ops (production key) <ops@packagecloud.io> #}
- {# 46095ACC8548582C1A2699A9D27D666CD88E42B4 -- Elasticsearch (Elasticsearch Signing Key) <dev_ops@elasticsearch.org> #}
- {# 4D1BB29D63D98E422B2113B19334A25F8507EFA5 -- Percona MySQL Development Team (Packaging key) <mysql-dev@percona.com> #}
- {# 58118E89F3A912897C070ADBF76221572C52609D -- Docker Release Tool (releasedocker) <docker@docker.com> #}
- {# 901F9177AB97ACBE -- Treasure Data, Inc (Treasure Agent Official Signing key) <support@treasure-data.com> #}
- {% set base_apt_keys = [
- '05CE15085FC09D18E99EFB22684A14CF2582E0C5',
- '177F4010FE56CA3336300305F1656F24C74CD1D8',
- '391A9AA2147192839E9DB0315EDB1B62EC4926EA',
- '418A7F2FB0E1E6E7EABF6FE8C2E73424D59097AB',
- '46095ACC8548582C1A2699A9D27D666CD88E42B4',
- '4D1BB29D63D98E422B2113B19334A25F8507EFA5',
- '58118E89F3A912897C070ADBF76221572C52609D',
- '901F9177AB97ACBE',
- ] %}
-{% elif base_distro == 'debian' %}
- {% set base_apt_keys = [
- '58118E89F3A912897C070ADBF76221572C52609D',
- '0xcbcb082a1bb943db',
- 'D27D666CD88E42B4',
- '05CE15085FC09D18E99EFB22684A14CF2582E0C5',
- '418A7F2FB0E1E6E7EABF6FE8C2E73424D59097AB',
- '901F9177AB97ACBE',
- 'E84AC2C0460F3994',
- ] %}
- {% set base_apt_packages = base_apt_packages +
- ['sudo',]
- %}
-{% endif %}
-
-{% block base_ubuntu_package_installation %}
- {%- block base_ubuntu_package_key_installation %}
- {%- 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 }}
- {%- if not loop.last %} \
- {% endif -%}
- {% endfor %}
- {% endblock %}
-RUN 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 clean
-{% endblock %}
-
-{% if base_distro == 'ubuntu' %}
-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 %}
-
-{# endif for base_distro debian, ubuntu #}
diff --git a/docker/base/rpm_distros.j2 b/docker/base/rpm_distros.j2
deleted file mode 100644
index 9fdfa58c9..000000000
--- a/docker/base/rpm_distros.j2
+++ /dev/null
@@ -1,210 +0,0 @@
-
-# For RPM Variants, enable the correct repositories - this should all be done
-# in the base image so repos are consistent throughout the system. This also
-# 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 release '{{ supported_distro_release }}' is supported on {{ base_distro }}"; false; \
- fi \
- && cat /tmp/kolla_bashrc >> /etc/bashrc \
- && sed -i 's|^\(override_install_langs=.*\)|# \1|' /etc/yum.conf
-
-#### BEGIN REPO ENABLEMENT
-{% set base_yum_repo_files = [
- ] %}
-
-{% set base_yum_url_packages = [
-] %}
-
-{% set base_yum_repo_keys = [
-] %}
-
-{% if base_arch == 'aarch64' %}
- {% set base_yum_repo_files = [
- 'aarch64-cbs.repo'
- ] %}
-
-{% elif base_arch == 'x86_64' %}
- {% set base_yum_repo_files = [
- 'elasticsearch.repo',
- 'grafana.repo',
- 'influxdb.repo',
- 'kibana.yum.repo',
- 'MariaDB.repo',
- 'td.repo',
- 'zookeeper.repo'
- ] %}
-
- {% set base_yum_url_packages = [
- 'http://repo.percona.com/release/7/RPMS/x86_64/percona-release-0.1-4.noarch.rpm'
- ] %}
-
- {% set base_yum_repo_keys = [
- 'http://yum.mariadb.org/RPM-GPG-KEY-MariaDB',
- '/etc/pki/rpm-gpg/RPM-GPG-KEY-Percona',
- 'https://packages.elastic.co/GPG-KEY-elasticsearch',
- 'https://repos.influxdata.com/influxdb.key',
- 'https://packagecloud.io/gpg.key',
- 'https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana',
- 'https://packages.treasuredata.com/GPG-KEY-td-agent'
- ] %}
-{% endif %}
-
-{%- for repo_file in base_yum_repo_files | customizable('yum_repo_files') %}
-COPY {{ repo_file }} /etc/yum.repos.d/{{ repo_file }}
-{%- endfor %}
-
-{{ macros.install_packages(base_yum_url_packages | customizable("yum_url_packages")) }}
-
-{% 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 %}
-{{ cmd }}
-{% endfor %}
-
- {% endif %}
- {# endif for repo setup for all RHEL except RHEL OSP #}
-
- {% if install_metatype == 'rhos' %}
-
-{% block base_rhos_repo_enablement %}
-# Turn on the RHOS 7.0 repo for RHOS
-RUN yum-config-manager --enable rhel-7-server-rpms \
- && yum-config-manager --enable rhel-7-server-openstack-7.0-rpms
-{% endblock %}
-
- {% endif %}
-
- {% if base_distro == 'centos' %}
-
-{% block base_centos_gpg_key_import %}
-RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
-{% endblock %}
-
-{% set base_centos_yum_repo_keys = [
-] %}
-
-{% set base_centos_yum_repo_packages = [
- 'epel-release',
- 'yum-plugin-priorities'
-] %}
-
-{% if base_arch == 'x86_64' %}
- {% set base_centos_yum_repo_keys = base_centos_yum_repo_keys + [
- '/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage',
- '/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization'
- ] %}
-
- {% set base_centos_yum_repo_packages = base_centos_yum_repo_packages + [
- 'centos-release-ceph-jewel',
- 'centos-release-qemu-ev'
- ] %}
-{% endif %}
-
-{{ macros.install_packages(base_centos_yum_repo_packages | customizable("centos_yum_repo_packages")) }}
-{% for key in base_centos_yum_repo_keys | customizable('centos_yum_repo_keys') %}
- {%- if loop.first %}RUN {% else %} && {% endif -%}
- rpm --import {{ key }} \
-{% endfor -%}
-{%- if base_centos_yum_repo_keys|customizable('centos_yum_repo_keys')|length == 0 %}RUN {% else %} && {% endif -%}
- yum clean all
-
- {% endif %}
- {# Endif for base_distro centos #}
-
- {% if base_distro == 'rhel' %}
-
-{% block base_rhel_package_installation %}
-# Enable couple required repositories for all RHEL builds
-# Turn on EPEL throughout the build
-RUN yum -y install \
- https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
- && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 \
- && yum -y install \
- yum-plugin-priorities \
- && yum clean all \
- && yum-config-manager --enable rhel-7-server-optional-rpms \
- && yum-config-manager --enable rhel-7-server-extras-rpms
-{% endblock %}
-
- {% endif %}
- {# Endif for base_distro RHEL #}
-
- {% if base_distro == 'oraclelinux' %}
-
-{% block base_oraclelinux_package_installation %}
-COPY oraclelinux-extras.repo /etc/yum.repos.d/oraclelinux-extras.repo
-RUN yum -y install \
- tar \
- yum-utils \
- https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
- && rpm -Uvh --nodeps \
- https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-mitaka/centos-release-openstack-mitaka-1-3.el7.noarch.rpm \
- http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-ceph-jewel-1.0-1.el7.centos.noarch.rpm \
- http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-qemu-ev-1.0-1.el7.noarch.rpm \
- http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-virt-common-1-1.el7.centos.noarch.rpm \
- http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-storage-common-1-2.el7.centos.noarch.rpm \
- && sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS-*.repo \
- && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 \
- && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage \
- && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization \
- && yum-config-manager --enable ol7_optional_latest ol7_addons \
- && yum -y install \
- yum-plugin-priorities \
- && yum clean all
-{% endblock %}
-
- {% endif %}
- {# Endif for base_distro oraclelinux #}
-
-#### END REPO ENABLEMENT
-
-{# We are back to the basic if conditional here which is:
- if base_distro in ['centos', 'oraclelinux', 'rhel'] #}
-
-{% set base_compiler_packages = [
- 'gcc',
- 'glibc-static'
-] %}
-
-{% block base_redhat_binary_versionlock %}{% endblock %}
- {% if install_type == 'binary' %}
-{% set base_centos_binary_packages = [
- 'iproute',
- 'iscsi-initiator-utils',
- 'lvm2',
- 'python',
- 'scsi-target-utils',
- 'sudo',
- 'which'
-] %}
-# Install base packages
-{{ macros.install_packages( base_centos_binary_packages | customizable("centos_binary_packages")) }}
- {% endif %}
- {# Endif for install_type binary #}
-
- {% if install_type == 'source' %}
-
-{% set base_centos_source_packages = [
- 'curl',
- 'iproute',
- 'iscsi-initiator-utils',
- 'lvm2',
- 'scsi-target-utils',
- 'sudo',
- 'tar',
- 'which'
-] %}
-# Update packages
-{{ macros.install_packages( base_centos_source_packages | customizable("centos_source_packages")) }}
-
- {% endif %}
- {# endif for install type is source for RPM based distros #}