summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorMark Goddard <mark@stackhpc.com>2019-12-17 13:01:42 +0000
committerMark Goddard <mark@stackhpc.com>2020-02-26 09:16:48 +0000
commit63d566feaafd0cab6eeac9f88acd6ec7fc66b645 (patch)
tree456f87f77a33c633532dcc1065dd632e0ed614ce /docker
parent4b35eb5e241147fb38cf81a11ba63b6ac7c77f90 (diff)
downloadkolla-63d566feaafd0cab6eeac9f88acd6ec7fc66b645.tar.gz
kolla-63d566feaafd0cab6eeac9f88acd6ec7fc66b645.zip
CentOS 8: Update packages in images
* Some further changes for python2 vs python3 packages * Allow rabbitmq 3.7.*, since a newer erlang is available * Switch from qemu-img-ev to qemu-img on CentOS 8 * bridge-utils no longer available on CentOS 8 * libvirt-daemon-driver-lxc no longer available on CentOS 8 * Mark some more images buildable for CentOS 8 Depends-On: https://review.opendev.org/709553 Change-Id: Iaf5b68ff6d944ae730ca0b1d5832172c106a6c08 Partially-Implements: blueprint centos-rhel-8 Partially-Implements: blueprint centos-rhel-python-3 (cherry picked from commit 4b4e26262b9e03190c639481fb60a8f4f92c532a)
Diffstat (limited to 'docker')
-rw-r--r--docker/ceilometer/ceilometer-compute/Dockerfile.j212
-rw-r--r--docker/cinder/cinder-base/Dockerfile.j26
-rw-r--r--docker/cinder/cinder-volume/Dockerfile.j21
-rw-r--r--docker/glance/glance-api/Dockerfile.j28
-rw-r--r--docker/ironic/ironic-conductor/Dockerfile.j216
-rw-r--r--docker/keystone/keystone-base/Dockerfile.j28
-rw-r--r--docker/kolla-toolbox/Dockerfile.j215
-rw-r--r--docker/kuryr/kuryr-libnetwork/Dockerfile.j26
-rw-r--r--docker/neutron/neutron-base/Dockerfile.j211
-rw-r--r--docker/neutron/neutron-linuxbridge-agent/Dockerfile.j26
-rw-r--r--docker/nova/nova-compute/Dockerfile.j226
-rw-r--r--docker/nova/nova-libvirt/Dockerfile.j212
-rw-r--r--docker/nova/nova-spicehtml5proxy/Dockerfile.j211
-rw-r--r--docker/qdrouterd/Dockerfile.j23
-rw-r--r--docker/rabbitmq/Dockerfile.j214
-rw-r--r--docker/skydive/skydive-agent/Dockerfile.j25
-rw-r--r--docker/skydive/skydive-analyzer/Dockerfile.j23
-rw-r--r--docker/skydive/skydive-base/Dockerfile.j23
18 files changed, 132 insertions, 34 deletions
diff --git a/docker/ceilometer/ceilometer-compute/Dockerfile.j2 b/docker/ceilometer/ceilometer-compute/Dockerfile.j2
index e587ad861..bd0aa4c6b 100644
--- a/docker/ceilometer/ceilometer-compute/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-compute/Dockerfile.j2
@@ -20,9 +20,15 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% elif install_type == 'source' %}
{% if base_package_type == 'rpm' %}
- {% set ceilometer_compute_packages = [
- 'libvirt-python'
- ] %}
+ {% if distro_python_version.startswith('3') %}
+ {% set ceilometer_compute_packages = [
+ 'python3-libvirt'
+ ] %}
+ {% else %}
+ {% set ceilometer_compute_packages = [
+ 'libvirt-python'
+ ] %}
+ {% endif %}
{% elif base_package_type == 'deb' %}
{% set ceilometer_compute_packages = [
'python3-libvirt'
diff --git a/docker/cinder/cinder-base/Dockerfile.j2 b/docker/cinder/cinder-base/Dockerfile.j2
index 4c015186e..bf2dc4fa7 100644
--- a/docker/cinder/cinder-base/Dockerfile.j2
+++ b/docker/cinder/cinder-base/Dockerfile.j2
@@ -48,13 +48,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'lvm2',
'cryptsetup',
] %}
- {% if base_distro in ['centos'] %}
+ {% if distro_package_manager == 'dnf' or base_distro not in ['centos'] %}
{% set cinder_base_packages = cinder_base_packages + [
- 'qemu-img-ev'
+ 'qemu-img'
] %}
{% else %}
{% set cinder_base_packages = cinder_base_packages + [
- 'qemu-img'
+ 'qemu-img-ev'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
diff --git a/docker/cinder/cinder-volume/Dockerfile.j2 b/docker/cinder/cinder-volume/Dockerfile.j2
index a65718bbc..77748fd1a 100644
--- a/docker/cinder/cinder-volume/Dockerfile.j2
+++ b/docker/cinder/cinder-volume/Dockerfile.j2
@@ -12,7 +12,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'sysfsutils',
'targetcli'
] %}
-
{% if distro_python_version.startswith('3') %}
{% set cinder_volume_packages = cinder_volume_packages + [
'python3-rtslib',
diff --git a/docker/glance/glance-api/Dockerfile.j2 b/docker/glance/glance-api/Dockerfile.j2
index 9ac24070a..1b98f1efe 100644
--- a/docker/glance/glance-api/Dockerfile.j2
+++ b/docker/glance/glance-api/Dockerfile.j2
@@ -5,10 +5,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
-{% if base_distro in ['centos'] %}
- {% set glance_api_packages = ['qemu-img-ev'] %}
-{% elif base_distro == 'rhel' %}
+{% 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 %}
{% elif base_package_type == 'deb' %}
{% set glance_api_packages = ['qemu-utils'] %}
{% endif %}
diff --git a/docker/ironic/ironic-conductor/Dockerfile.j2 b/docker/ironic/ironic-conductor/Dockerfile.j2
index 90975c756..ab5adc342 100644
--- a/docker/ironic/ironic-conductor/Dockerfile.j2
+++ b/docker/ironic/ironic-conductor/Dockerfile.j2
@@ -47,13 +47,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'systemd-python'
] %}
{% endif %}
- {% if base_distro in ['centos'] %}
+ {% if distro_package_manager == 'dnf' or base_distro not in ['centos'] %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
- 'qemu-img-ev'
+ 'qemu-img'
] %}
{% else %}
{% set ironic_conductor_packages = ironic_conductor_packages + [
- 'qemu-img'
+ 'qemu-img-ev'
] %}
{% endif %}
{% elif base_package_type == 'deb' %}
@@ -90,7 +90,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'ipmitool',
'parted',
'psmisc',
- 'qemu-img-ev',
'shellinabox',
'util-linux',
'xfsprogs',
@@ -104,6 +103,15 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'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',
diff --git a/docker/keystone/keystone-base/Dockerfile.j2 b/docker/keystone/keystone-base/Dockerfile.j2
index 5a4e8eddf..85d0734eb 100644
--- a/docker/keystone/keystone-base/Dockerfile.j2
+++ b/docker/keystone/keystone-base/Dockerfile.j2
@@ -31,6 +31,10 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
] %}
{% 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 \
&& cp -a /usr/bin/keystone-wsgi-public /var/www/cgi-bin/keystone/main \
@@ -76,6 +80,10 @@ RUN mkdir -p /var/www/cgi-bin/keystone \
] %}
{% 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 \
&& sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf
diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/docker/kolla-toolbox/Dockerfile.j2
index 2fd566746..f0a75f1ec 100644
--- a/docker/kolla-toolbox/Dockerfile.j2
+++ b/docker/kolla-toolbox/Dockerfile.j2
@@ -28,9 +28,20 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'mariadb-devel',
'openssh-clients',
'openssl-devel',
- 'python-devel',
- 'rabbitmq-server-3.7.10',
] %}
+ {% if distro_package_manager == 'dnf' %}
+ {% set kolla_toolbox_packages = kolla_toolbox_packages + [
+ 'python3-devel',
+ 'rabbitmq-server-3.7.*'
+ ] %}
+ {% else %}
+ # NOTE(mandre) Remove rabbitmq-server pinning once package dependencies are met
+ # https://bugs.launchpad.net/kolla/+bug/1814233
+ {% set kolla_toolbox_packages = kolla_toolbox_packages + [
+ 'python-devel',
+ 'rabbitmq-server-3.7.10'
+ ] %}
+ {% endif %}
{% elif base_package_type == 'deb' %}
{% set kolla_toolbox_packages = [
diff --git a/docker/kuryr/kuryr-libnetwork/Dockerfile.j2 b/docker/kuryr/kuryr-libnetwork/Dockerfile.j2
index ccfbf9ffb..c5a63be02 100644
--- a/docker/kuryr/kuryr-libnetwork/Dockerfile.j2
+++ b/docker/kuryr/kuryr-libnetwork/Dockerfile.j2
@@ -14,9 +14,13 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
{% if base_package_type == 'rpm' %}
{% set kuryr_libnetwork_packages = [
- 'bridge-utils',
'openvswitch'
] %}
+ {% if distro_package_manager == 'yum' %}
+ {% set kuryr_libnetwork_packages = kuryr_libnetwork_packages + [
+ 'bridge-utils',
+ ] %}
+ {% endif %}
{% elif base_package_type == 'deb' %}
diff --git a/docker/neutron/neutron-base/Dockerfile.j2 b/docker/neutron/neutron-base/Dockerfile.j2
index 4594c30ca..b30279e67 100644
--- a/docker/neutron/neutron-base/Dockerfile.j2
+++ b/docker/neutron/neutron-base/Dockerfile.j2
@@ -83,14 +83,23 @@ RUN mkdir -p /usr/share/neutron \
'dnsmasq-utils',
'haproxy',
'ipset',
+ 'iptables',
'iputils',
'keepalived',
'net-tools',
'openvswitch',
- 'python2-openvswitch',
'radvd',
'uuid'
] %}
+ {% if distro_python_version.startswith('3') %}
+ {% set neutron_base_packages = neutron_base_packages + [
+ 'python3-openvswitch',
+ ] %}
+ {% else %}
+ {% set neutron_base_packages = neutron_base_packages + [
+ 'python2-openvswitch',
+ ] %}
+ {% endif %}
{% elif base_package_type == 'deb' %}
diff --git a/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2 b/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
index a486fd5f9..514e88f3e 100644
--- a/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
@@ -25,9 +25,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% elif install_type == 'source' %}
{% set neutron_linuxbridge_agent_packages = [
- 'bridge-utils',
'ebtables'
] %}
+ {% if distro_package_manager != 'dnf' %}
+ {% set neutron_linuxbridge_agent_packages = neutron_linuxbridge_agent_packages + [
+ 'bridge-utils',
+ ] %}
+ {% endif %}
{% endif %}
diff --git a/docker/nova/nova-compute/Dockerfile.j2 b/docker/nova/nova-compute/Dockerfile.j2
index c22b76b2c..ba846e6be 100644
--- a/docker/nova/nova-compute/Dockerfile.j2
+++ b/docker/nova/nova-compute/Dockerfile.j2
@@ -81,18 +81,36 @@ RUN rm -f /etc/nova/nova-compute.conf
'e2fsprogs',
'genisoimage',
'iscsi-initiator-utils',
- 'libvirt-python',
'libosinfo',
'nfs-utils',
'openvswitch',
'parted',
- 'python-libguestfs',
- 'python-rtslib',
- 'qemu-img-ev',
'sysfsutils',
'targetcli',
'xfsprogs'
] %}
+ {% if distro_python_version.startswith('3') %}
+ {% set nova_compute_packages = nova_compute_packages + [
+ 'python3-libguestfs',
+ 'python3-libvirt',
+ 'python3-rtslib'
+ ] %}
+ {% else %}
+ {% set nova_compute_packages = nova_compute_packages + [
+ 'libvirt-python',
+ 'python-libguestfs',
+ 'python-rtslib'
+ ] %}
+ {% endif %}
+ {% if distro_package_manager == 'dnf' %}
+ {% set nova_compute_packages = nova_compute_packages + [
+ 'qemu-img',
+ ] %}
+ {% else %}
+ {% set nova_compute_packages = nova_compute_packages + [
+ 'qemu-img-ev',
+ ] %}
+ {% endif %}
{% elif base_package_type == 'deb' %}
diff --git a/docker/nova/nova-libvirt/Dockerfile.j2 b/docker/nova/nova-libvirt/Dockerfile.j2
index 1e74ba645..d18ec09bd 100644
--- a/docker/nova/nova-libvirt/Dockerfile.j2
+++ b/docker/nova/nova-libvirt/Dockerfile.j2
@@ -16,18 +16,22 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'libvirt-client',
'libvirt-daemon',
'libvirt-daemon-config-nwfilter',
- 'libvirt-daemon-driver-lxc',
'libvirt-daemon-driver-nwfilter',
'openvswitch',
'trousers'
] %}
- {% if base_distro in ['centos'] %}
+ {% if distro_package_manager == 'dnf' or base_distro not in ['centos'] %}
{% set nova_libvirt_packages = nova_libvirt_packages + [
- 'qemu-kvm-ev'
+ 'qemu-kvm'
] %}
{% else %}
{% set nova_libvirt_packages = nova_libvirt_packages + [
- 'qemu-kvm'
+ 'qemu-kvm-ev'
+ ] %}
+ {% endif %}
+ {% if distro_package_manager != 'dnf' %}
+ {% set nova_libvirt_packages = nova_libvirt_packages + [
+ 'libvirt-daemon-driver-lxc',
] %}
{% endif %}
diff --git a/docker/nova/nova-spicehtml5proxy/Dockerfile.j2 b/docker/nova/nova-spicehtml5proxy/Dockerfile.j2
index 57b439766..b5da34c12 100644
--- a/docker/nova/nova-spicehtml5proxy/Dockerfile.j2
+++ b/docker/nova/nova-spicehtml5proxy/Dockerfile.j2
@@ -36,10 +36,19 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if base_package_type == 'rpm' %}
{% set nova_spicehtml5proxy_packages = [
- 'numpy',
'spice-html5'
] %}
+ {% if distro_python_version.startswith('3') %}
+ {% set nova_spicehtml5proxy_packages = nova_spicehtml5proxy_packages + [
+ 'python3-numpy',
+ ] %}
+ {% else %}
+ {% set nova_spicehtml5proxy_packages = nova_spicehtml5proxy_packages + [
+ 'numpy',
+ ] %}
+ {% endif %}
+
{% elif base_package_type == 'deb' %}
{% set nova_spicehtml5proxy_packages = [
diff --git a/docker/qdrouterd/Dockerfile.j2 b/docker/qdrouterd/Dockerfile.j2
index e1b3322b2..01ba0ef04 100644
--- a/docker/qdrouterd/Dockerfile.j2
+++ b/docker/qdrouterd/Dockerfile.j2
@@ -16,7 +16,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'qpid-dispatch-tools'
] %}
-{% if base_distro in ['centos'] %}
+# FIXME(mgoddard): centos-release-opstools not installed on CentOS 8 currently.
+{% if base_distro in ['centos'] and distro_package_manager == 'yum' %}
# make sure qpid is pulled from centos-openstack-RELEASE (RDO) repo
RUN {% if distro_package_manager == 'dnf' %}dnf config-manager{% else %}yum-config-manager{% endif %} --disable epel centos-release-opstools extras
{% endif %}
diff --git a/docker/rabbitmq/Dockerfile.j2 b/docker/rabbitmq/Dockerfile.j2
index e23dde96a..f6e3eee02 100644
--- a/docker/rabbitmq/Dockerfile.j2
+++ b/docker/rabbitmq/Dockerfile.j2
@@ -9,13 +9,21 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block rabbitmq_install %}
{% if base_package_type == 'rpm' %}
-# NOTE(mandre) Remove rabbitmq-server pinning once package dependencies are met
-# https://bugs.launchpad.net/kolla/+bug/1814233
{% set rabbitmq_packages = [
'erlang-hipe',
'hostname',
- 'rabbitmq-server-3.7.10'
] %}
+ {% if distro_package_manager == 'dnf' %}
+ {% set rabbitmq_packages = rabbitmq_packages + [
+ 'rabbitmq-server-3.7.*'
+ ] %}
+ {% else %}
+ # NOTE(mandre) Remove rabbitmq-server pinning once package dependencies are met
+ # https://bugs.launchpad.net/kolla/+bug/1814233
+ {% set rabbitmq_packages = rabbitmq_packages + [
+ 'rabbitmq-server-3.7.10'
+ ] %}
+ {% endif %}
{% elif base_package_type == 'deb' %}
{% set rabbitmq_packages = [
diff --git a/docker/skydive/skydive-agent/Dockerfile.j2 b/docker/skydive/skydive-agent/Dockerfile.j2
index 87a1729f9..d7954b171 100644
--- a/docker/skydive/skydive-agent/Dockerfile.j2
+++ b/docker/skydive/skydive-agent/Dockerfile.j2
@@ -9,8 +9,13 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if base_package_type == 'rpm' %}
{% set skydive_agent_packages = [
'openvswitch',
+ ] %}
+{# NOTE(mgoddard): CentOS 8 does not currently provide skydive packages #}
+{% if distro_package_manager == 'yum' %}
+ {% set skydive_agent_packages = skydive_agent_packages + [
'skydive-agent'
] %}
+{% endif %}
{% elif base_package_type == 'deb' %}
{% set skydive_agent_packages = ['openvswitch-common'] %}
{% endif %}
diff --git a/docker/skydive/skydive-analyzer/Dockerfile.j2 b/docker/skydive/skydive-analyzer/Dockerfile.j2
index 776ddbca5..43552e599 100644
--- a/docker/skydive/skydive-analyzer/Dockerfile.j2
+++ b/docker/skydive/skydive-analyzer/Dockerfile.j2
@@ -6,7 +6,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
{% block skydive_analyzer_install %}
-{% if base_package_type == 'rpm' %}
+{# NOTE(mgoddard): CentOS 8 does not currently provide skydive packages #}
+{% if base_package_type == 'rpm' and distro_package_manager == 'yum' %}
{% set skydive_analyzer_packages = ['skydive-analyzer'] %}
{{ macros.install_packages(skydive_analyzer_packages | customizable("packages")) }}
{% endif %}
diff --git a/docker/skydive/skydive-base/Dockerfile.j2 b/docker/skydive/skydive-base/Dockerfile.j2
index a115aea9f..e1b1efb6b 100644
--- a/docker/skydive/skydive-base/Dockerfile.j2
+++ b/docker/skydive/skydive-base/Dockerfile.j2
@@ -8,7 +8,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.configure_user(name='skydive') }}
{% block skydive_install %}
-{% if base_package_type == 'rpm' %}
+{# NOTE(mgoddard): CentOS 8 does not currently provide skydive packages - use source. #}
+{% if base_package_type == 'rpm' and distro_package_manager == 'yum' %}
{% set skydive_base_packages = ['skydive'] %}
{{ macros.install_packages(skydive_base_packages | customizable("packages")) }}
{% else %}