Browse Source

Remove support for CentOS 7

With the move to RHEL/CentOS 8 we no longer have Python 2 in our images
so there is no need for checking which Python version (2.x or 3.x) is
used inside of containers.

We also no longer have to support yum as a value for
distro_package_manager.

Partially-Implements: blueprint centos-rhel-8

Change-Id: Ie45cf3465fedddbde7856961527421883ba3d5c9
changes/50/692450/20
Marcin Juszkiewicz 2 years ago committed by Mark Goddard
parent
commit
53443c5c71
  1. 21
      docker/aodh/aodh-base/Dockerfile.j2
  2. 12
      docker/barbican/barbican-api/Dockerfile.j2
  3. 5
      docker/barbican/barbican-base/Dockerfile.j2
  4. 178
      docker/base/Dockerfile.j2
  5. 2
      docker/base/set_configs.py
  6. 10
      docker/base/yum.conf
  7. 13
      docker/ceilometer/ceilometer-base/Dockerfile.j2
  8. 12
      docker/ceilometer/ceilometer-compute/Dockerfile.j2
  9. 16
      docker/cinder/cinder-api/Dockerfile.j2
  10. 24
      docker/cinder/cinder-base/Dockerfile.j2
  11. 16
      docker/cinder/cinder-volume/Dockerfile.j2
  12. 14
      docker/cloudkitty/cloudkitty-api/Dockerfile.j2
  13. 10
      docker/collectd/Dockerfile.j2
  14. 13
      docker/designate/designate-base/Dockerfile.j2
  15. 11
      docker/designate/designate-sink/Dockerfile.j2
  16. 8
      docker/freezer/freezer-api/Dockerfile.j2
  17. 4
      docker/freezer/freezer-base/Dockerfile.j2
  18. 7
      docker/glance/glance-api/Dockerfile.j2
  19. 21
      docker/glance/glance-base/Dockerfile.j2
  20. 27
      docker/gnocchi/gnocchi-base/Dockerfile.j2
  21. 14
      docker/heat/heat-base/Dockerfile.j2
  22. 11
      docker/heat/heat-engine/Dockerfile.j2
  23. 19
      docker/horizon/Dockerfile.j2
  24. 14
      docker/ironic/ironic-api/Dockerfile.j2
  25. 72
      docker/ironic/ironic-conductor/Dockerfile.j2
  26. 8
      docker/ironic/ironic-pxe/Dockerfile.j2
  27. 11
      docker/iscsid/Dockerfile.j2
  28. 26
      docker/keystone/keystone-base/Dockerfile.j2
  29. 2
      docker/keystone/keystone-ssh/Dockerfile.j2
  30. 11
      docker/keystone/keystone/Dockerfile.j2
  31. 13
      docker/kolla-toolbox/Dockerfile.j2
  32. 5
      docker/kuryr/kuryr-libnetwork/Dockerfile.j2
  33. 11
      docker/macros.j2
  34. 12
      docker/manila/manila-api/Dockerfile.j2
  35. 9
      docker/masakari/masakari-base/Dockerfile.j2
  36. 14
      docker/mistral/mistral-api/Dockerfile.j2
  37. 6
      docker/monasca/monasca-base/Dockerfile.j2
  38. 4
      docker/monasca/monasca-grafana/Dockerfile.j2
  39. 5
      docker/mongodb/Dockerfile.j2
  40. 7
      docker/networking-baremetal/ironic-neutron-agent/Dockerfile.j2
  41. 25
      docker/neutron/neutron-base/Dockerfile.j2
  42. 5
      docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
  43. 27
      docker/neutron/neutron-mlnx-agent/Dockerfile.j2
  44. 9
      docker/neutron/neutron-server-opendaylight/Dockerfile.j2
  45. 9
      docker/neutron/neutron-server/Dockerfile.j2
  46. 14
      docker/nova/nova-api/Dockerfile.j2
  47. 43
      docker/nova/nova-compute/Dockerfile.j2
  48. 30
      docker/nova/nova-libvirt/Dockerfile.j2
  49. 24
      docker/nova/nova-spicehtml5proxy/Dockerfile.j2
  50. 2
      docker/nova/nova-ssh/Dockerfile.j2
  51. 8
      docker/novajoin/novajoin-base/Dockerfile.j2
  52. 23
      docker/octavia/octavia-api/Dockerfile.j2
  53. 107
      docker/openstack-base/Dockerfile.j2
  54. 14
      docker/openvswitch/openvswitch-base/Dockerfile.j2
  55. 11
      docker/panko/panko-api/Dockerfile.j2
  56. 21
      docker/panko/panko-base/Dockerfile.j2
  57. 14
      docker/placement/placement-api/Dockerfile.j2
  58. 9
      docker/qinling/qinling-base/Dockerfile.j2
  59. 10
      docker/rabbitmq/Dockerfile.j2
  60. 11
      docker/rally/Dockerfile.j2
  61. 15
      docker/sahara/sahara-base/Dockerfile.j2
  62. 11
      docker/sensu/sensu-client/Dockerfile.j2
  63. 10
      docker/swift/swift-proxy-server/Dockerfile.j2
  64. 10
      docker/tacker/tacker-base/Dockerfile.j2
  65. 15
      docker/telegraf/Dockerfile.j2
  66. 4
      docker/tgtd/Dockerfile.j2
  67. 15
      docker/tripleoclient/Dockerfile.j2
  68. 12
      docker/vitrage/vitrage-api/Dockerfile.j2
  69. 10
      docker/vitrage/vitrage-base/Dockerfile.j2
  70. 19
      docker/zaqar/zaqar-base/Dockerfile.j2
  71. 9
      docker/zun/zun-base/Dockerfile.j2
  72. 19
      kolla/common/config.py
  73. 25
      kolla/image/build.py
  74. 12
      kolla/template/methods.py
  75. 26
      kolla/template/repos.yaml
  76. 29
      kolla/tests/test_build.py
  77. 18
      kolla/tests/test_methods.py
  78. 23
      tests/templates/template_overrides.j2

21
docker/aodh/aodh-base/Dockerfile.j2

@ -17,19 +17,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'httpd',
'mod_ssl',
'openstack-aodh-api',
'openstack-aodh-common'
] %}
{% if distro_python_version.startswith('3') %}
{% set aodh_base_packages = aodh_base_packages + [
'openstack-aodh-common',
'python3-ldappool',
'python3-mod_wsgi'
] %}
{% else %}
{% set aodh_base_packages = aodh_base_packages + [
'mod_wsgi',
'python2-ldappool'
] %}
{% endif %}
{{ macros.install_packages(aodh_base_packages | customizable("packages")) }}
RUN mkdir -p /var/www/cgi-bin/aodh \
@ -58,19 +49,9 @@ RUN mkdir -p /var/www/cgi-bin/aodh \
{% set aodh_base_packages = [
'httpd',
'mod_ssl',
] %}
{% if distro_python_version.startswith('3') %}
{% set aodh_base_packages = aodh_base_packages + [
'python3-ldappool',
'python3-mod_wsgi'
] %}
{% else %}
{% set aodh_base_packages = aodh_base_packages + [
'mod_wsgi',
'python2-ldappool'
] %}
{% endif %}
{{ macros.install_packages(aodh_base_packages | customizable("packages")) }}
RUN mkdir -p /var/www/cgi-bin/aodh \

12
docker/barbican/barbican-api/Dockerfile.j2

@ -12,20 +12,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set barbican_api_packages = [
'httpd',
'mod_ssl',
'openstack-barbican-api'
] %}
{% if distro_python_version.startswith('3') %}
{% set barbican_api_packages = barbican_api_packages + [
'openstack-barbican-api',
'python3-mod_wsgi',
'uwsgi-plugin-python3'
] %}
{% else %}
{% set barbican_api_packages = barbican_api_packages + [
'mod_wsgi',
'uwsgi-plugin-python'
] %}
{% endif %}
{{ macros.install_packages(barbican_api_packages | customizable("packages")) }}

5
docker/barbican/barbican-base/Dockerfile.j2

@ -20,12 +20,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% elif install_type == 'source' %}
{% if base_package_type == 'rpm' %}
{% if distro_python_version.startswith('3') %}
{% set barbican_base_packages = ['uwsgi-plugin-python3'] %}
{% else %}
{% set barbican_base_packages = ['uwsgi-plugin-python'] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set barbican_base_packages = ['uwsgi-plugin-python3'] %}
{% endif %}

178
docker/base/Dockerfile.j2

@ -44,37 +44,29 @@ 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 :)
{# FIXME(mgoddard): Remove special case for CentOS 8 when CentOS 7 is no #}
{# longer supported. #}
RUN CURRENT_DISTRO_RELEASE=$(awk '{match($0, /[0-9]+/,version)}END{print version[0]}' /etc/system-release); \
if [ $CURRENT_DISTRO_RELEASE != "{{ supported_distro_release }}" ] && [ $CURRENT_DISTRO_RELEASE != 8 ]; then \
echo "Only releases '{{ supported_distro_release }}' and '8' are supported on {{ base_distro }}"; false; \
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 \
&& sed -i 's|^\(override_install_langs=.*\)|# \1|' {% if distro_package_manager == 'dnf' %}/etc/dnf/dnf.conf{% else %}/etc/yum.conf{% endif %}
&& sed -i 's|^\(override_install_langs=.*\)|# \1|' /etc/dnf/dnf.conf
{% block base_yum_conf %}
{% if distro_package_manager == 'dnf' %}
COPY dnf.conf /etc/dnf/dnf.conf
{% else %}
COPY yum.conf /etc/yum.conf
{% endif %}
{% endblock %}
# Install what is needed for en_US.UTF-8
{% block base_centos_distro_sync_and_languages %}
{% if distro_package_manager == 'dnf' %}
{% set base_centos_language_packages = [
'langpacks-en',
'glibc-all-langpacks'
] %}
{% set base_centos_language_packages = [
'langpacks-en',
'glibc-all-langpacks'
] %}
RUN {{ macros.install_packages(base_centos_language_packages | customizable("centos_language_packages"), chain=True, clean=False) }} \
&& {{ macros.rpm_security_update(clean_package_cache) }}
{% endif %}
{% endblock %}
@ -97,13 +89,9 @@ RUN {{ macros.install_packages(base_centos_language_packages | customizable("cen
'td.repo',
] %}
# FIXME(mgoddard): Not available for CentOS 8 yet.
{% if distro_package_manager == 'yum' %}
{% set base_yum_repo_files = base_yum_repo_files + [
'crmsh.repo',
'elasticsearch.repo',
'opendaylight.repo',
] %}
{% endif %}
# 'crmsh.repo',
# 'elasticsearch.repo',
# 'opendaylight.repo',
{% set base_yum_repo_keys = [
'https://packages.grafana.com/gpg.key',
@ -112,11 +100,9 @@ RUN {{ macros.install_packages(base_centos_language_packages | customizable("cen
'https://packages.treasuredata.com/GPG-KEY-td-agent',
] %}
# FIXME(mgoddard): Not available for CentOS 8 yet.
{% if distro_package_manager == 'yum' %}
{% set base_yum_repo_keys = base_yum_repo_keys + [
'https://artifacts.elastic.co/GPG-KEY-elasticsearch',
] %}
{% endif %}
#
# 'https://artifacts.elastic.co/GPG-KEY-elasticsearch',
#
{% elif base_arch == 'aarch64' %}
{% set base_yum_repo_files = [
'grafana.repo',
@ -124,11 +110,9 @@ RUN {{ macros.install_packages(base_centos_language_packages | customizable("cen
'rabbitmq_rabbitmq-erlang-aarch64.repo',
] %}
# FIXME(mgoddard): Not available for CentOS 8 yet.
{% if distro_package_manager == 'yum' %}
{% set base_yum_repo_files = base_yum_repo_files + [
'elasticsearch.repo',
] %}
{% endif %}
#
# 'elasticsearch.repo',
#
{% set base_yum_repo_keys = [
'https://packages.grafana.com/gpg.key',
@ -136,30 +120,24 @@ RUN {{ macros.install_packages(base_centos_language_packages | customizable("cen
'https://obs.linaro.org/repos/home:/marcin.juszkiewicz/centos7/repodata/repomd.xml.key',
] %}
# FIXME(mgoddard): Not available for CentOS 8 yet.
{% if distro_package_manager == 'yum' %}
{% set base_yum_repo_keys = base_yum_repo_keys + [
'https://artifacts.elastic.co/GPG-KEY-elasticsearch',
] %}
{% endif %}
#
# 'https://artifacts.elastic.co/GPG-KEY-elasticsearch',
#
{% elif base_arch == 'ppc64le' %}
{% set base_yum_repo_files = [
'rabbitmq_rabbitmq-server.repo',
] %}
# FIXME(mgoddard): Not available for CentOS 8 yet.
{% if distro_package_manager == 'yum' %}
{% set base_yum_repo_files = base_yum_repo_files + [
'elasticsearch.repo',
] %}
{% endif %}
#
# 'elasticsearch.repo',
#
{% set base_yum_repo_keys = [
] %}
# FIXME(mgoddard): Not available for CentOS 8 yet.
{% if distro_package_manager == 'yum' %}
{% set base_yum_repo_keys = base_yum_repo_keys + [
'https://artifacts.elastic.co/GPG-KEY-elasticsearch',
] %}
{% endif %}
#
# 'https://artifacts.elastic.co/GPG-KEY-elasticsearch',
#
{% endif %}
{%- for repo_file in base_yum_repo_files | customizable('yum_repo_files') %}
@ -199,97 +177,62 @@ RUN if [[ -e /etc/yum.repos.d/rabbitmq_rabbitmq-server.repo ]]; then \
{% 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 %}
{% block base_rhos_repo_enablement %}{% endblock %}
{% endif %}
{% if base_distro == 'centos' %}
{% block base_centos_gpg_key_import %}
{% if distro_package_manager == 'dnf' %}
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
{% else %}
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
{% endif %}
{% endblock %}
{% set base_centos_yum_repo_keys = [
'/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-OpsTools',
] %}
# FIXME(mgoddard): Not available for CentOS 8 yet.
{% if distro_package_manager == 'yum' %}
{% 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',
] %}
{% endif %}
#
# '/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 = [
'centos-release-opstools',
'epel-release',
] %}
# FIXME(mgoddard): Not available for CentOS 8 yet.
{% if distro_package_manager == 'yum' %}
{% set base_centos_yum_repo_packages = base_centos_yum_repo_packages + [
'centos-release-ceph-nautilus',
'centos-release-qemu-ev',
] %}
#
# 'centos-release-ceph-nautilus',
#
# FIXME(mnasiadka): Replace with CentOS Storage SIG packages when avail
{% else %}
COPY ceph.repo /etc/yum.repos.d/
{% endif %}
{% if distro_package_manager == 'dnf' %}
# We need 'dnf-plugins-core' for 'dnf config-manager'
{% set base_centos_yum_repo_packages = base_centos_yum_repo_packages + [
'dnf-plugins-core'
] %}
{% set base_centos_yum_repos_to_enable = [
'PowerTools'
] %}
{% else %}
{% set base_centos_yum_repo_packages = base_centos_yum_repo_packages + [
'yum-plugin-priorities',
] %}
{% endif %}
# We need 'dnf-plugins-core' for 'dnf config-manager'
{% set base_centos_yum_repo_packages = base_centos_yum_repo_packages + [
'dnf-plugins-core'
] %}
{% set base_centos_yum_repos_to_enable = [
'PowerTools'
] %}
{% set base_centos_yum_repos_to_disable = [
'centos-ceph-nautilus',
'centos-nfs-ganesha28',
] %}
{% if base_arch == 'x86_64' %}
{% set base_centos_yum_repos_to_disable = base_centos_yum_repos_to_disable + [
'influxdb',
] %}
{% endif %}
{% if distro_package_manager == 'yum' %}
{% set base_centos_yum_repos_to_disable = base_centos_yum_repos_to_disable + [
'centos-qemu-ev',
] %}
{% endif %}
RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("centos_yum_repo_packages"), chain=True, clean=False) }} \
{%- for repo in base_centos_yum_repos_to_enable | customizable('centos_yum_repos_to_enable') %}
{%- if distro_package_manager == 'dnf' %}
&& dnf config-manager --enable {{ repo }} \
{% else %}
&& yum-config-manager --enable {{ repo }} \
{% endif -%}
{% endfor -%}
{%- for repo in base_centos_yum_repos_to_disable | customizable('centos_yum_repos_to_disable') %}
{%- if distro_package_manager == 'dnf' %}
&& dnf config-manager --disable {{ repo }} \
{%- else %}
&& yum-config-manager --disable {{ repo }} \
{%- endif -%}
{%- endfor %}
{% endfor -%}
{% for key in base_centos_yum_repo_keys | customizable('centos_yum_repo_keys') -%}
&& rpm --import {{ key }} \
{% endfor -%}
@ -301,21 +244,7 @@ RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("cen
{% 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-config-manager --enable rhel-7-server-optional-rpms \
&& {{ macros.install_packages( ['yum-plugin-priorities' ], chain=True, clean=False) }} \
{%- if install_type != 'binary' or install_metatype != 'rdo' %}
&& {{ macros.install_packages( [ 'https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm' ], chain=True, clean=False) }} \
&& rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 \
{% endif -%}
&& yum-config-manager --enable rhel-7-server-extras-rpms \
&& yum-config-manager --enable rhel-7-server-rhceph-2-osd-rpms \
&& yum-config-manager --enable rhel-7-server-rhceph-2-mon-rpms \
&& yum-config-manager --enable rhel-7-server-rhceph-2-tools-rpms \
&& {{ macros.rpm_security_update(clean_package_cache) }}
{% endblock %}
{% block base_rhel_package_installation %}{% endblock %}
{% endif %}
{# Endif for base_distro RHEL #}
@ -336,29 +265,13 @@ RUN yum-config-manager --enable rhel-7-server-optional-rpms \
'lvm2',
'ncurses',
'procps-ng',
'python3',
'socat',
'sudo',
'tar',
'util-linux-user',
'which'
] %}
{% if distro_python_version.startswith('3') %}
{% set base_centos_packages = base_centos_packages + [
'python3'
] %}
{% else %}
{% set base_centos_packages = base_centos_packages + [
'python'
] %}
{% endif %}
{% if distro_package_manager == 'dnf' %}
{% set base_centos_packages = base_centos_packages + [
'util-linux-user',
] %}
{% else %}
{% set base_centos_packages = base_centos_packages + [
'scsi-target-utils',
] %}
{% endif %}
# Install base packages
{{ macros.install_packages( base_centos_packages | customizable("centos_packages") | customizable("centos_binary_packages") | customizable("centos_source_packages") ) }}
@ -512,9 +425,6 @@ RUN sed -ri '/-session(\s+)optional(\s+)pam_systemd.so/d' /etc/pam.d/system-auth
{% endif %}
COPY set_configs.py /usr/local/bin/kolla_set_configs
{% if distro_python_version.startswith('3') %}
RUN sed -i -e "s+#\!/usr/bin/env python+#\!/usr/bin/env python3+g" /usr/local/bin/kolla_set_configs
{% endif %}
COPY start.sh /usr/local/bin/kolla_start
COPY copy_cacerts.sh /usr/local/bin/kolla_copy_cacerts
COPY httpd_setup.sh /usr/local/bin/kolla_httpd_setup

2
docker/base/set_configs.py

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

10
docker/base/yum.conf

@ -1,10 +0,0 @@
[main]
keepcache=0
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=0
skip_missing_names_on_install=False
tsflags=nodocs

13
docker/ceilometer/ceilometer-base/Dockerfile.j2

@ -12,23 +12,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if install_type == 'binary' %}
{% if base_package_type == 'rpm' %}
{% set ceilometer_base_packages = [
'openstack-ceilometer-common'
] %}
{% if distro_python_version.startswith('3') %}
{% set ceilometer_base_packages = ceilometer_base_packages + [
'openstack-ceilometer-common',
'python3-gnocchiclient',
'python3-oslo-db',
'python3-panko',
'python3-tooz'
] %}
{% else %}
{% set ceilometer_base_packages = ceilometer_base_packages + [
'python-gnocchiclient',
'python-oslo-db',
'python-panko',
'python-tooz'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set ceilometer_base_packages = [
'ceilometer-common',

12
docker/ceilometer/ceilometer-compute/Dockerfile.j2

@ -22,15 +22,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% elif install_type == 'source' %}
{% if base_package_type == 'rpm' %}
{% if distro_python_version.startswith('3') %}
{% set ceilometer_compute_packages = [
'python3-libvirt'
] %}
{% else %}
{% set ceilometer_compute_packages = [
'libvirt-python'
] %}
{% endif %}
{% set ceilometer_compute_packages = [
'python3-libvirt'
] %}
{% elif base_package_type == 'deb' %}
{% set ceilometer_compute_packages = [
'python3-libvirt'

16
docker/cinder/cinder-api/Dockerfile.j2

@ -12,19 +12,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set cinder_api_packages = [
'httpd',
'mod_ssl',
] %}
{% if distro_python_version.startswith('3') %}
{% set cinder_api_packages = cinder_api_packages + [
'python3-keystone',
'python3-mod_wsgi'
] %}
{% else %}
{% set cinder_api_packages = cinder_api_packages + [
'mod_wsgi',
'python-keystone'
] %}
{% endif %}
{{ macros.install_packages(cinder_api_packages | customizable("packages")) }}
RUN mkdir -p /var/www/cgi-bin/cinder \
&& cp -a /usr/bin/cinder-wsgi /var/www/cgi-bin/cinder/cinder-wsgi \
@ -49,12 +39,8 @@ RUN mkdir -p /var/www/cgi-bin/cinder \
{% set cinder_api_packages = [
'httpd',
'mod_ssl',
'python3-mod_wsgi'
] %}
{% if distro_python_version.startswith('3') %}
{% set cinder_api_packages = cinder_api_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set cinder_api_packages = cinder_api_packages + ['mod_wsgi'] %}
{% endif %}
{{ macros.install_packages(cinder_api_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \

24
docker/cinder/cinder-base/Dockerfile.j2

@ -17,20 +17,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'ceph-common',
'lvm2',
'cryptsetup',
'openstack-cinder'
] %}
{% if distro_python_version.startswith('3') %}
{% set cinder_base_packages = cinder_base_packages + [
'openstack-cinder',
'python3-automaton',
'python3-oslo-vmware'
] %}
{% else %}
{% set cinder_base_packages = cinder_base_packages + [
'python-automaton',
'python-oslo-vmware'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set cinder_base_packages = [
'ceph-common',
@ -49,18 +39,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if base_package_type == 'rpm' %}
{% set cinder_base_packages = [
'ceph-common',
'lvm2',
'cryptsetup',
] %}
{% if distro_package_manager == 'dnf' or base_distro not in ['centos'] %}
{% set cinder_base_packages = cinder_base_packages + [
'lvm2',
'qemu-img'
] %}
{% else %}
{% set cinder_base_packages = cinder_base_packages + [
'qemu-img-ev'
] %}
{% endif %}
] %}
{% elif base_package_type == 'deb' %}
{% set cinder_base_packages = [
'ceph-common',

16
docker/cinder/cinder-volume/Dockerfile.j2

@ -11,26 +11,14 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set cinder_volume_packages = [
'nfs-utils',
'nvmetcli',
'sysfsutils',
'targetcli'
] %}
{% if distro_python_version.startswith('3') %}
{% set cinder_volume_packages = cinder_volume_packages + [
'python3-rtslib',
'python3-cinderlib',
'sysfsutils',
'targetcli'
] %}
{% else %}
{% set cinder_volume_packages = cinder_volume_packages + [
'python-rtslib',
'python2-cinderlib',
] %}
{% endif %}
{{ macros.install_packages(cinder_volume_packages | customizable("packages")) }}
{% block cinder_volume_redhat_setup %}
{% if distro_package_manager == 'yum' %}
RUN sed -i '1 i include /var/lib/cinder/volumes/*' /etc/tgt/tgtd.conf
{% endif %}
{% endblock %}
{% elif base_package_type == 'deb' %}

14
docker/cloudkitty/cloudkitty-api/Dockerfile.j2

@ -13,13 +13,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set cloudkitty_api_packages = [
'httpd',
'mod_ssl',
'openstack-cloudkitty-api'
'openstack-cloudkitty-api',
'python3-mod_wsgi'
] %}
{% if distro_python_version.startswith('3') %}
{% set cloudkitty_api_packages = cloudkitty_api_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set cloudkitty_api_packages = cloudkitty_api_packages + ['mod_wsgi'] %}
{% endif %}
{{ macros.install_packages(cloudkitty_api_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
&& sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf
@ -37,12 +33,8 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
{% set cloudkitty_api_packages = [
'httpd',
'mod_ssl',
'python3-mod_wsgi'
] %}
{% if distro_python_version.startswith('3') %}
{% set cloudkitty_api_packages = cloudkitty_api_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set cloudkitty_api_packages = cloudkitty_api_packages + ['mod_wsgi'] %}
{% endif %}
{{ macros.install_packages(cloudkitty_api_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
&& sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf

10
docker/collectd/Dockerfile.j2

@ -54,18 +54,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'collectd-write_http',
'collectd-write_kafka',
'collectd-write_prometheus',
] %}
{% if distro_python_version.startswith('3') %}
{% set collectd_packages = collectd_packages + [
'python3-sqlalchemy-collectd'
] %}
{% else %}
{% set collectd_packages = collectd_packages + [
'python2-collectd-rabbitmq-monitoring',
'python2-sqlalchemy-collectd'
] %}
{% endif %}
{% if base_arch in ['x86_64', 'ppc64le'] %}
{% set collectd_packages = collectd_packages + [

13
docker/designate/designate-base/Dockerfile.j2

@ -12,22 +12,11 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if install_type == 'binary' %}
{% if base_package_type == 'rpm' %}
{% set designate_base_packages = [
'openstack-designate-common'
] %}
{% if distro_python_version.startswith('3') %}
{% set designate_base_packages = designate_base_packages + [
'openstack-designate-common',
'python3-oslo-reports',
'python3-suds',
'python3-tooz'
] %}
{% else %}
{% set designate_base_packages = designate_base_packages + [
'python-tooz',
'python2-oslo-reports',
'python2-suds'
] %}
{% endif %}
{{ macros.install_packages(designate_base_packages | customizable("packages")) }}
{% elif base_package_type == 'deb' %}

11
docker/designate/designate-sink/Dockerfile.j2

@ -10,18 +10,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if install_type == 'binary' %}
{% if base_package_type == 'rpm' %}
{% set designate_sink_packages = [
'openstack-designate-sink'
] %}
{% if distro_python_version.startswith('3') %}
{% set designate_sink_packages = designate_sink_packages + [
'openstack-designate-sink',
'python3-designateclient'
] %}
{% else %}
{% set designate_sink_packages = designate_sink_packages + [
'python-designateclient'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set designate_sink_packages = [
'designate-sink',

8
docker/freezer/freezer-api/Dockerfile.j2

@ -18,12 +18,8 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
{% set freezer_api_packages = [
'httpd',
'mod_ssl',
] %}
{% if distro_python_version.startswith('3') %}
{% set freezer_api_packages = freezer_api_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set freezer_api_packages = freezer_api_packages + ['mod_wsgi'] %}
{% endif %}
'python3-mod_wsgi'
] %}
{{ macros.install_packages(freezer_api_packages | customizable("packages")) }}

4
docker/freezer/freezer-base/Dockerfile.j2

@ -10,9 +10,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.configure_user(name='freezer') }}
{# NOTE(mgoddard): EPEL required for trickle package. Not provided by EPEL8 #}
{% if distro_package_manager == 'yum' %}
{{ macros.enable_extra_repos(['epel']) }}
{% endif %}
{% if install_type == 'binary' %}
@ -20,7 +18,7 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
&& /bin/false
{% elif install_type == 'source' %}
{% if distro_package_manager != 'dnf' %}
{% if base_package_type != 'rpm' %}
{% set freezer_base_packages = [
'trickle'
] %}

7
docker/glance/glance-api/Dockerfile.j2

@ -8,12 +8,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{% if base_package_type == 'rpm' %}
{% if distro_package_manager == 'dnf' or base_distro not in ['centos'] %}
{% set glance_api_packages = ['qemu-img'] %}
{% else %}
{% set glance_api_packages = ['qemu-img-ev'] %}
{% endif %}
{% set glance_api_packages = glance_api_packages + ['nfs-utils'] %}
{% set glance_api_packages = ['qemu-img'] %}
{% elif base_package_type == 'deb' %}
{% set glance_api_packages = [
'nfs-common',

21
docker/glance/glance-base/Dockerfile.j2

@ -14,21 +14,11 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if install_type == 'binary' %}
{% if base_package_type == 'rpm' %}
{% set glance_base_packages = [
'openstack-glance'
] %}
{% if distro_python_version.startswith('3') %}
{% set glance_base_packages = glance_base_packages + [
'openstack-glance',
'python3-oslo-vmware',
'python3-rados',
'python3-rbd'
] %}
{% else %}
{% set glance_base_packages = glance_base_packages + [
'python-oslo-vmware',
'python-rados',
'python-rbd'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set glance_base_packages = [
'glance',
@ -36,8 +26,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'python3-oslo.vmware',
'python3-rados',
'python3-rbd',
'python3-rados',
'python3-rbd'
] %}
{% endif %}
@ -45,17 +33,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% elif install_type == 'source' %}
{% if base_package_type == 'rpm' %}
{% if distro_python_version.startswith('3') %}
{% set glance_base_packages = [
'python3-rados',
'python3-rbd'
] %}
{% else %}
{% set glance_base_packages = [
'python-rados',
'python-rbd'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set glance_base_packages = [
'python3-rados',

27
docker/gnocchi/gnocchi-base/Dockerfile.j2

@ -13,10 +13,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if install_type == 'binary' %}
{# NOTE(mgoddard): EPEL required for python3-boto3 package on CentOS 8 #}
{% if distro_package_manager == 'dnf' %}
{{ macros.enable_extra_repos(['epel']) }}
{% endif %}
{# NOTE(mgoddard): EPEL required for python3-boto3 package on CentOS 8 #}
{{ macros.enable_extra_repos(['epel']) }}
{% if base_package_type == 'rpm' %}
@ -24,22 +22,11 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'gnocchi-common',
'httpd',
'mod_ssl',
] %}
{% if distro_python_version.startswith('3') %}
{% set gnocchi_base_packages = gnocchi_base_packages + [
'python3-boto3',
'python3-cradox',
'python3-ldappool',
'python3-mod_wsgi'
] %}
{% else %}
{% set gnocchi_base_packages = gnocchi_base_packages + [
'mod_wsgi',
'python-boto3',
'python2-cradox',
'python2-ldappool'
] %}
{% endif %}
{{ macros.install_packages(gnocchi_base_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
&& sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf
@ -74,19 +61,9 @@ RUN {{ macros.install_pip(gnocchi_base_pip_packages | customizable("pip_packages
'httpd',
'librados2-devel',
'mod_ssl',
] %}
{% if distro_python_version.startswith('3') %}
{% set gnocchi_base_packages = gnocchi_base_packages + [
'python3-ldappool',
'python3-mod_wsgi'
] %}
{% else %}
{% set gnocchi_base_packages = gnocchi_base_packages + [
'mod_wsgi',
'python2-ldappool'
] %}
{% endif %}
# on x86-64 pip grabs precompiled numpy/scipy - on aarch64/ppc64le
# it needs to be built

14
docker/heat/heat-base/Dockerfile.j2

@ -15,13 +15,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set heat_base_packages = [
'httpd',
'mod_ssl',
'openstack-heat-common'
'openstack-heat-common',
'python3-mod_wsgi'
] %}
{% if distro_python_version.startswith('3') %}
{% set heat_base_packages = heat_base_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set heat_base_packages = heat_base_packages + ['mod_wsgi'] %}
{% endif %}
{{ macros.install_packages(heat_base_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
@ -43,12 +39,8 @@ RUN echo > /etc/apache2/ports.conf
{% set heat_base_packages = [
'httpd',
'mod_ssl',
'python3-mod_wsgi'
] %}
{% if distro_python_version.startswith('3') %}
{% set heat_base_packages = heat_base_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set heat_base_packages = heat_base_packages + ['mod_wsgi'] %}
{% endif %}
{{ macros.install_packages(heat_base_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \

11
docker/heat/heat-engine/Dockerfile.j2

@ -10,19 +10,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if install_type == 'binary' %}
{% if base_package_type == 'rpm' %}
{% set heat_engine_packages = [
'openstack-heat-engine'
] %}
{% if distro_python_version.startswith('3') %}
{% set heat_engine_packages = heat_engine_packages + [
'openstack-heat-engine',
'python3-barbicanclient',
'python3-zaqarclient'
] %}
{% else %}
{% set heat_engine_packages = heat_engine_packages + [
'python-barbicanclient',
'python-zaqarclient'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set heat_engine_packages = ['heat-engine'] %}
{% endif %}

19
docker/horizon/Dockerfile.j2

@ -11,11 +11,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if install_type == 'binary' %}
{% if base_package_type == 'rpm' %}
{% if distro_python_version.startswith('3') %}
{% set horizon_python = 'python3' %}
{% else %}
{% set horizon_python = 'python2' %}
{% endif %}
{% set horizon_packages = [
'gettext',
'httpd',
@ -32,13 +27,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'openstack-octavia-ui',
'openstack-sahara-ui',
'openstack-trove-ui',
'openstack-vitrage-ui'
'openstack-vitrage-ui',
'python3-mod_wsgi',
] %}
{% if distro_python_version.startswith('3') %}
{% set horizon_packages = horizon_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set horizon_packages = horizon_packages + ['mod_wsgi'] %}
{% endif %}
{{ macros.install_packages(horizon_packages | customizable("packages")) }}
@ -115,12 +106,8 @@ RUN echo > /etc/apache2/ports.conf \
'gettext',
'httpd',
'mod_ssl',
'python3-mod_wsgi',
] %}
{% if distro_python_version.startswith('3') %}
{% set horizon_packages = horizon_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set horizon_packages = horizon_packages + ['mod_wsgi'] %}
{% endif %}
{{ macros.install_packages(horizon_packages | customizable("packages")) }}

14
docker/ironic/ironic-api/Dockerfile.j2

@ -12,13 +12,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set ironic_api_packages = [
'httpd',
'mod_ssl',
'openstack-ironic-api'
'openstack-ironic-api',
'python3-mod_wsgi',
] %}
{% if distro_python_version.startswith('3') %}
{% set ironic_api_packages = ironic_api_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set ironic_api_packages = ironic_api_packages + ['mod_wsgi'] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set ironic_api_packages = [
'apache2',
@ -32,12 +28,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set ironic_api_packages = [
'httpd',
'mod_ssl',
'python3-mod_wsgi',
] %}
{% if distro_python_version.startswith('3') %}
{% set ironic_api_packages = ironic_api_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set ironic_api_packages = ironic_api_packages + ['mod_wsgi'] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set ironic_api_packages = [
'apache2',

72
docker/ironic/ironic-conductor/Dockerfile.j2

@ -7,11 +7,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{# NOTE(mgoddard): EPEL required for shellinabox package. Not provided by EPEL8 #}
{% if distro_package_manager == 'yum' %}
{{ macros.enable_extra_repos(['epel']) }}
{% endif %}
{% if install_type == 'binary' %}
{% if base_package_type == 'rpm' %}
# TODO(Jeffrey4l): no python-oneviewclient
@ -25,14 +20,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'openstack-ironic-staging-drivers',
'parted',
'psmisc',
'util-linux',
'xfsprogs'
] %}
# FIXME(mgoddard): Removed shellinabox which is not currently provided
# by EPEL8.
{% if distro_python_version.startswith('3') %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'python3dist\(ansible\)',
'python3-dracclient',
'python3-ironic-inspector-client',
@ -40,35 +27,14 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'python3-pysnmp',
'python3-scciclient',
'python3-sushy',
'python3-systemd'
] %}
{% else %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'ansible',
'pysnmp',
'python-UcsSdk',
'python-dracclient',
'python-ironic-inspector-client',
'python-proliantutils',
'python-scciclient',
'python-sushy',
'python2-ImcSdk',
'shellinabox',
'systemd-python'
'python3-systemd',
'qemu-img',
'util-linux',
'xfsprogs'
] %}
{% endif %}
{% if distro_package_manager == 'dnf' or base_distro not in ['centos'] %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'qemu-img'
] %}
{% else %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'qemu-img-ev'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
# TODO(jeffrey4l): no python-dracclient, python-oneviewclient, UcsSdk,
# ImcSdk package, python-sushy, ironic-staging-drivers
# TODO(jeffrey4l): no python-dracclient, python-oneviewclient,
# python-sushy, ironic-staging-drivers
{% set ironic_conductor_packages = [
'ansible',
'bsdmainutils',
@ -102,32 +68,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'openssh-clients',
'parted',
'psmisc',
'util-linux',
'xfsprogs',
] %}
# FIXME(mgoddard): Removed shellinabox which is not currently provided
# by EPEL8.
{% if distro_python_version.startswith('3') %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'python3-systemd',
'qemu-img',
'systemd-udev',
'util-linux',
'xfsprogs',
] %}
{% else %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'shellinabox',
'systemd-python',
'systemd',
] %}
{% endif %}
{% if distro_package_manager == 'dnf' or base_distro not in ['centos'] %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'qemu-img'
] %}
{% else %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
'qemu-img-ev'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set ironic_conductor_packages = [
'bsdmainutils',

8
docker/ironic/ironic-pxe/Dockerfile.j2

@ -12,13 +12,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'httpd',
'ipxe-bootimgs',
'mod_ssl',
'tftp-server'
'python3-mod_wsgi',
'tftp-server',
] %}
{% if distro_python_version.startswith('3') %}
{% set ironic_pxe_packages = ironic_pxe_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set ironic_pxe_packages = ironic_pxe_packages + ['mod_wsgi'] %}
{% endif %}
{% if base_arch == 'x86_64' %}
{% set ironic_pxe_packages = ironic_pxe_packages + [

11
docker/iscsid/Dockerfile.j2

@ -10,19 +10,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if base_package_type == 'rpm' %}
{% set iscsid_packages = [
'iscsi-initiator-utils',
'python3-rtslib',
'targetcli'
] %}
{% if distro_python_version.startswith('3') %}
{% set iscsid_packages = iscsid_packages + [
'python3-rtslib'
] %}
{% else %}
{% set iscsid_packages = iscsid_packages + [
'python-rtslib'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set iscsid_packages = [
'open-iscsi',

26
docker/keystone/keystone-base/Dockerfile.j2

@ -16,26 +16,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'mod_auth_mellon',
'mod_auth_openidc',
'mod_ssl',
'openstack-keystone'
] %}
{% if distro_python_version.startswith('3') %}
{% set keystone_base_packages = keystone_base_packages + [
'openstack-keystone',
'python3-keystoneclient',
'python3-ldappool',
'python3-mod_wsgi'
] %}
{% else %}
{% set keystone_base_packages = keystone_base_packages + [
'mod_wsgi',
'python-keystoneclient',
'python2-ldappool'
] %}
{% endif %}
{% if distro_package_manager == 'dnf' %}
RUN dnf module enable mod_auth_openidc -y
{% endif %}
{{ macros.install_packages(keystone_base_packages | customizable("packages")) }}
RUN mkdir -p /var/www/cgi-bin/keystone \
@ -69,22 +56,11 @@ RUN mkdir -p /var/www/cgi-bin/keystone \
'mod_auth_mellon',
'mod_auth_openidc',
'mod_ssl',
] %}
{% if distro_python_version.startswith('3') %}
{% set keystone_base_packages = keystone_base_packages + [
'python3-ldappool',
'python3-mod_wsgi'
] %}
{% else %}
{% set keystone_base_packages = keystone_base_packages + [
'mod_wsgi',
'python2-ldappool'
] %}
{% endif %}
{% if distro_package_manager == 'dnf' %}
RUN dnf module enable mod_auth_openidc -y
{% endif %}
{{ macros.install_packages(keystone_base_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \

2
docker/keystone/keystone-ssh/Dockerfile.j2

@ -15,11 +15,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'rsync'
] %}
{% if distro_package_manager == 'dnf' %}
# NOTE(mgoddard): The centos:8 image contains a /run/nologin file, which
# prevents SSH access to it.
RUN rm -f /run/nologin
{% endif %}
{% elif base_package_type == 'deb' %}
{% set keystone_ssh_packages = [

11
docker/keystone/keystone/Dockerfile.j2

@ -14,18 +14,9 @@ RUN chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_keystone_bo
{% if install_type == 'binary' %}
{% if base_package_type == 'rpm' %}
{% set keystone_packages = [
'mod_auth_gssapi'
] %}
{% if distro_python_version.startswith('3') %}
{% set keystone_packages = keystone_packages + [
'mod_auth_gssapi',
'python3-requests-kerberos'
] %}
{% else %}
{% set keystone_packages = keystone_packages + [
'python-requests-kerberos'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set keystone_packages = [
'libapache2-mod-auth-gssapi',

13
docker/kolla-toolbox/Dockerfile.j2

@ -30,18 +30,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'mariadb-devel',
'openssh-clients',
'openssl-devel',
] %}
{% if distro_package_manager == 'dnf' %}
{% set kolla_toolbox_packages = kolla_toolbox_packages + [
'python3-devel',
'rabbitmq-server-3.8.*'
] %}
{% else %}
{% set kolla_toolbox_packages = kolla_toolbox_packages + [
'python-devel',
'rabbitmq-server-3.8.*'
'python3-devel',
'rabbitmq-server-3.8.*'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
{% set kolla_toolbox_packages = [

5
docker/kuryr/kuryr-libnetwork/Dockerfile.j2

@ -18,11 +18,6 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
{% set kuryr_libnetwork_packages = [
'openvswitch'
] %}
{% if distro_package_manager == 'yum' %}
{% set kuryr_libnetwork_packages = kuryr_libnetwork_packages + [
'bridge-utils',
] %}
{% endif %}
{% elif base_package_type == 'deb' %}

11
docker/macros.j2

@ -19,11 +19,7 @@
{# Be Extra vigilant about introducing any extra whitespace at the
end of the macro for chaining purposes -#}
{% macro rpm_security_update(cleanup) -%}
{% if distro_package_manager == 'dnf' -%}
{{ distro_package_manager }} -y distro-sync --security --sec-severity=Important --sec-severity=Critical
{%- else -%}
{{ distro_package_manager }} -y update --security --sec-severity=Important --sec-severity=Critical
{%- endif %}
{%- if cleanup %} \
&& {{ distro_package_manager }} clean all && rm -rf /var/cache/{{ distro_package_manager }}{% endif -%}
{%- endmacro %}
@ -37,13 +33,8 @@
{%- endmacro %}
{% macro get_pip() %}
{% if distro_python_version == '2.7' %}
{% set python='python' %}
{% else %}
{% set python='python3' %}
{% endif %}
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
&& {{python}} get-pip.py \
&& python3 get-pip.py \
&& rm get-pip.py
{% endmacro %}

12
docker/manila/manila-api/Dockerfile.j2

@ -12,12 +12,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set manila_api_packages = [
'httpd',
'mod_ssl',
'python3-mod_wsgi',
] %}
{% if distro_python_version.startswith('3') %}
{% set manila_api_packages = manila_api_packages + ['python3-mod_wsgi' ] %}
{% else %}
{% set manila_api_packages = manila_api_packages + ['mod_wsgi' ] %}
{% endif %}
{{ macros.install_packages(manila_api_packages | customizable("packages")) }}
RUN mkdir -p /var/www/cgi-bin/manila \
&& cp -a /usr/bin/manila-wsgi /var/www/cgi-bin/manila/manila-wsgi \
@ -43,12 +39,8 @@ RUN mkdir -p /var/www/cgi-bin/manila \
{% set manila_api_packages = [
'httpd',
'mod_ssl',
'python3-mod_wsgi',
] %}
{% if distro_python_version.startswith('3') %}
{% set manila_api_packages = manila_api_packages + ['python3-mod_wsgi' ] %}
{% else %}
{% set manila_api_packages = manila_api_packages + ['mod_wsgi' ] %}
{% endif %}
{{ macros.install_packages(manila_api_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
&& sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf

9
docker/masakari/masakari-base/Dockerfile.j2

@ -21,18 +21,9 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
{% set masakari_base_packages = [
'httpd',
'mod_ssl',
] %}
{% if distro_python_version.startswith('3') %}
{% set masakari_base_packages = masakari_base_packages + [
'python3-ldappool',
'python3-mod_wsgi'
] %}
{% else %}
{% set masakari_base_packages = masakari_base_packages + [
'mod_wsgi',
'python2-ldappool'
] %}
{% endif %}
{{ macros.install_packages(masakari_base_packages | customizable("packages")) }}
RUN mkdir -p /var/www/cgi-bin/masakari \

14
docker/mistral/mistral-api/Dockerfile.j2

@ -12,13 +12,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% set mistral_api_packages = [
'httpd',
'mod_ssl',
'openstack-mistral-api'
'openstack-mistral-api',
'python3-mod_wsgi',
] %}
{% if distro_python_version.startswith('3') %}
{% set mistral_api_packages = mistral_api_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set mistral_api_packages = mistral_api_packages + ['mod_wsgi'] %}
{% endif %}
{{ macros.install_packages(mistral_api_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
&& sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf
@ -38,12 +34,8 @@ RUN echo > /etc/apache2/ports.conf
{% set mistral_api_packages = [
'httpd',
'mod_ssl',
'python3-mod_wsgi',
] %}
{% if distro_python_version.startswith('3') %}
{% set mistral_api_packages = mistral_api_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set mistral_api_packages = mistral_api_packages + ['mod_wsgi'] %}
{% endif %}
{{ macros.install_packages(mistral_api_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
&& sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf

6
docker/monasca/monasca-base/Dockerfile.j2

@ -20,12 +20,8 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
{% set monasca_base_packages = [
'httpd',
'mod_ssl',
'python3-mod_wsgi',
] %}
{% if distro_python_version.startswith('3') %}
{% set monasca_base_packages = monasca_base_packages + ['python3-mod_wsgi'] %}
{% else %}
{% set monasca_base_packages = monasca_base_packages + ['mod_wsgi'] %}
{% endif %}
{{ macros.install_packages(monasca_base_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \