diff options
| author | Mark Goddard <mark@stackhpc.com> | 2019-12-17 13:01:42 +0000 |
|---|---|---|
| committer | Mark Goddard <mark@stackhpc.com> | 2020-02-26 09:16:48 +0000 |
| commit | 63d566feaafd0cab6eeac9f88acd6ec7fc66b645 (patch) | |
| tree | 456f87f77a33c633532dcc1065dd632e0ed614ce /docker | |
| parent | 4b35eb5e241147fb38cf81a11ba63b6ac7c77f90 (diff) | |
| download | kolla-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.j2 | 12 | ||||
| -rw-r--r-- | docker/cinder/cinder-base/Dockerfile.j2 | 6 | ||||
| -rw-r--r-- | docker/cinder/cinder-volume/Dockerfile.j2 | 1 | ||||
| -rw-r--r-- | docker/glance/glance-api/Dockerfile.j2 | 8 | ||||
| -rw-r--r-- | docker/ironic/ironic-conductor/Dockerfile.j2 | 16 | ||||
| -rw-r--r-- | docker/keystone/keystone-base/Dockerfile.j2 | 8 | ||||
| -rw-r--r-- | docker/kolla-toolbox/Dockerfile.j2 | 15 | ||||
| -rw-r--r-- | docker/kuryr/kuryr-libnetwork/Dockerfile.j2 | 6 | ||||
| -rw-r--r-- | docker/neutron/neutron-base/Dockerfile.j2 | 11 | ||||
| -rw-r--r-- | docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2 | 6 | ||||
| -rw-r--r-- | docker/nova/nova-compute/Dockerfile.j2 | 26 | ||||
| -rw-r--r-- | docker/nova/nova-libvirt/Dockerfile.j2 | 12 | ||||
| -rw-r--r-- | docker/nova/nova-spicehtml5proxy/Dockerfile.j2 | 11 | ||||
| -rw-r--r-- | docker/qdrouterd/Dockerfile.j2 | 3 | ||||
| -rw-r--r-- | docker/rabbitmq/Dockerfile.j2 | 14 | ||||
| -rw-r--r-- | docker/skydive/skydive-agent/Dockerfile.j2 | 5 | ||||
| -rw-r--r-- | docker/skydive/skydive-analyzer/Dockerfile.j2 | 3 | ||||
| -rw-r--r-- | docker/skydive/skydive-base/Dockerfile.j2 | 3 |
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 %} |
