Comment 3 for bug 1742206

Revision history for this message
Gary Richards (ashak) wrote :

I did a little more digging into this.

Trying to work out where the installed package comes from and why:

$ repoquery --whatrequires --installed mariadb-config
mariadb-common-3:10.1.20-2.el7.x86_64
mariadb-config-3:10.1.20-2.el7.x86_64
$ repoquery --whatrequires --installed mariadb-common
mariadb-libs-3:10.1.20-2.el7.x86_64
$ repoquery --whatrequires --installed mariadb-libs
mariadb-libs-3:10.1.20-2.el7.x86_64
postfix-2:2.10.1-6.el7.x86_64

$ yum deplist postfix | grep -i mysql
  dependency: libmysqlclient.so.18()(64bit)
  dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit)
But if I look at the full output:
  dependency: libmysqlclient.so.18()(64bit)
   provider: mariadb-libs.x86_64 3:10.1.20-2.el7
   provider: MariaDB-shared.x86_64 10.1.30-1.el7.centos
  dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit)
   provider: mariadb-libs.x86_64 3:10.1.20-2.el7
   provider: MariaDB-shared.x86_64 10.1.30-1.el7.centos

So I think postfix is the reason mariadb packages from the @openstack-pike repository are installed. However, now that other playbooks have also setup the MariaDB repo, it seems happy that they would be capable of providing the dependency

grepping for postfix in various places turns up the ansible-hardening role as the obvious place that's installing postfix, which in turn is causing the mariadb packages to be installed because the MariaDB repo isn't setup at that point.

The package it's trying to install is happening in galera_client role.

vars/redhat-7.yml sets up vars for:
_galera_client_repo_url and galera_client_distro_packages

the repo url ends up being set to the default because galera_client_yum_repo_url isn't set anywhere (and comments suggest it's for backwards compatibility in Newton), so its ends up set to http://yum.mariadb.org/......

the packages contain the MariaDB-client package (and a couple of others).

So this looks sensible as far as I can tell and would be totally fine if installation of postfix wasn't installing the conflicting packages earlier.

What I can't tell is whether there's something stupid i'm doing that's causing my infra nodes to end up applying the galera_client role as part of os-cinder-install.yml when really it shouldn't or whether this is a genuine problem.