From 21b04376e3339e1cb987e6877e8431ea054c6502 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Wed, 29 Mar 2017 12:36:22 +0200 Subject: mariadb: handle lack of external repos on non x86 MariaDB-* packages are from external 'x86_64 only' repository. Other architectures use CentOS packages. Split needs to be done as 'mariadb-devel' is provided by three different packages on x86-64. Partially-Implements: blueprint multiarch-and-arm64-containers Depends-On: I71ddb7ef57c64d2505cac96724b1ab6772a57d6a Change-Id: I9f3394eb35723f2bbf3205c6af6101b5a9daed38 --- docker/kolla-toolbox/Dockerfile.j2 | 20 +++++++++++++++++--- docker/mariadb/Dockerfile.j2 | 18 ++++++++++++++++-- docker/openstack-base/Dockerfile.j2 | 15 ++++++++++++++- 3 files changed, 47 insertions(+), 6 deletions(-) (limited to 'docker') diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/docker/kolla-toolbox/Dockerfile.j2 index e15958af8..c874a52cd 100644 --- a/docker/kolla-toolbox/Dockerfile.j2 +++ b/docker/kolla-toolbox/Dockerfile.j2 @@ -19,14 +19,28 @@ MAINTAINER {{ maintainer }} 'libffi-devel', 'libxml2-devel', 'libxslt-devel', - 'MariaDB-client', - 'MariaDB-devel', - 'MariaDB-shared', 'openssh-clients', 'openssl-devel', 'python-devel' ] %} + # On x86-64 packages from external repos are used. lowercase names goes + # conflicts and build fails. Other architectures use standard CentOS + # packages. + {% if base_arch == 'x86_64' %} + {% set kolla_toolbox_packages = kolla_toolbox_packages + [ + 'MariaDB-client', + 'MariaDB-devel', + 'MariaDB-shared' + ] %} + {% else %} + {% set kolla_toolbox_packages = kolla_toolbox_packages + [ + 'mariadb', + 'mariadb-devel', + 'mariadb-shared' + ] %} + {% endif %} + {% elif base_distro in ['debian', 'ubuntu'] %} {% set kolla_toolbox_packages = [ 'build-essential', diff --git a/docker/mariadb/Dockerfile.j2 b/docker/mariadb/Dockerfile.j2 index 74834f9fb..852d70b20 100644 --- a/docker/mariadb/Dockerfile.j2 +++ b/docker/mariadb/Dockerfile.j2 @@ -12,14 +12,28 @@ MAINTAINER {{ maintainer }} 'expect', 'galera', 'hostname', - 'MariaDB-client', - 'MariaDB-Galera-server', 'percona-xtrabackup', 'pv', 'rsync', 'socat', 'tar' ] %} + + # On x86-64 packages from external repos are used. lowercase names goes + # conflicts and build fails. Other architectures use standard CentOS + # packages. + {% if base_arch == 'x86_64' %} + {% set mariadb_packages = mariadb_packages + [ + 'MariaDB-client', + 'MariaDB-Galera-server' + ] %} + {% else %} + {% set mariadb_packages = mariadb_packages + [ + 'mariadb', + 'mariadb-galera-server' + ] %} + {% endif %} + {% elif base_distro in ['debian', 'ubuntu'] %} {% set mariadb_packages = [ 'expect', diff --git a/docker/openstack-base/Dockerfile.j2 b/docker/openstack-base/Dockerfile.j2 index 9dbd6246f..01db2013d 100644 --- a/docker/openstack-base/Dockerfile.j2 +++ b/docker/openstack-base/Dockerfile.j2 @@ -206,7 +206,6 @@ ENV DEBIAN_FRONTEND noninteractive 'libxml2-devel', 'libxslt-devel', 'libyaml-devel', - 'MariaDB-devel', 'openldap-devel', 'openssl-devel', 'postgresql', @@ -215,6 +214,20 @@ ENV DEBIAN_FRONTEND noninteractive 'sqlite-devel', 'zip' ] %} + + # On x86-64 packages from external repos are used. lowercase names goes + # conflicts and build fails. Other architectures use standard CentOS + # packages. + {% if base_arch == 'x86_64' %} + {% set openstack_base_packages = openstack_base_packages + [ + 'MariaDB-devel' + ] %} + {% else %} + {% set openstack_base_packages = openstack_base_packages + [ + 'mariadb-devel' + ] %} + {% endif %} + {% elif base_distro in ['debian', 'ubuntu'] %} {% set openstack_base_packages = [ 'build-essential', -- cgit v1.2.3