$ 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.
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 common- 3:10.1. 20-2.el7. x86_64 config- 3:10.1. 20-2.el7. x86_64 libs-3: 10.1.20- 2.el7.x86_ 64 libs-3: 10.1.20- 2.el7.x86_ 64 2:2.10. 1-6.el7. x86_64
mariadb-
mariadb-
$ repoquery --whatrequires --installed mariadb-common
mariadb-
$ repoquery --whatrequires --installed mariadb-libs
mariadb-
postfix-
$ yum deplist postfix | grep -i mysql so.18() (64bit) so.18(libmysqlc lient_18) (64bit) so.18() (64bit) shared. x86_64 10.1.30- 1.el7.centos so.18(libmysqlc lient_18) (64bit) shared. x86_64 10.1.30- 1.el7.centos
dependency: libmysqlclient.
dependency: libmysqlclient.
But if I look at the full output:
dependency: libmysqlclient.
provider: mariadb-libs.x86_64 3:10.1.20-2.el7
provider: MariaDB-
dependency: libmysqlclient.
provider: mariadb-libs.x86_64 3:10.1.20-2.el7
provider: MariaDB-
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: client_ repo_url and galera_ client_ distro_ packages
_galera_
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.