Created attachment 1079970 [details] Logs Description of problem: When installing OpenStack Im getting ERROR : Error appeared during Puppet run: 10.80.67.22_mariadb.pp Error: Execution of '/usr/bin/rpm -e mariadb-server-5.5.44-1.el7_1.x86_64' returned 1: error: Failed dependencies: You will find full trace in log /var/tmp/packstack/20151005-110017-2OBRaH/manifests/10.80.67.22_mariadb.pp.log Please check log file /var/tmp/packstack/20151005-110017-2OBRaH/openstack-setup.log for more information: Version-Release number of selected component (if applicable): How reproducible: Installation of Openstack Steps to Reproduce: 1. packstack --allinone 2. 3. Actual results: ERROR Expected results: Installed Openstack Additional info:
This is packaging issue.
Hello, Installing packstack requires a machine that starts with minimal software installs; an existing mysql installation as well as windowed tools like KDE are generally not appropriate. In your case, when packstack needs to remove the installed mariadb-server before carrying on, the step fails because a KDE tool (Akonadi) depends on it.
Relevant part of the mariadb_pp.log: ... Error: Execution of '/usr/bin/rpm -e mariadb-server-5.5.44-1.el7_1.x86_64' returned 1: error: Failed dependencies: mariadb-server is needed by (installed) akonadi-mysql-1.9.2-4.el7.x86_64 Error: /Stage[main]/Main/Package[mariadb-server]/ensure: change from 5.5.44-1.el7_1 to absent failed: Execution of '/usr/bin/rpm -e mariadb-server-5.5.44-1.el7_1.x86_64' returned 1: error: Failed dependencies: mariadb-server is needed by (installed) akonadi-mysql-1.9.2-4.el7.x86_64 Using rpm -e instead of yum remove is Puppet rpm provider bug IMHO. Alternatively, Packstack could report an user-friendlier error in this case.
Is there a way to work around this problem until a fix is implemented?
If I understand the issue correctly, you'd run packstack only on a machine where mariadb-server is not already installed. If you have it installed, you'd remove it and packages which are dependent on it with "yum remove" or similar.
I've come across the same problem on a RHEL7.2 system. Besides the `rpm -e` line there's also an error about `mysql.sock`. Notice the location of the file: Error: Could not prefetch mysql_database provider 'mysql': Execution of '/usr/bin/mysql -NBe show databases' returned 1: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) Error: Could not prefetch mysql_grant provider 'mysql': Execution of '/usr/bin/mysql -NBe SELECT CONCAT(User, '@',Host) AS User FROM mysql.user' returned 1: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/m ysql/mysql.sock' (2) AFAIK, default installation of mariadb on RHEL uses `/var/run/mariadb/` directory for these files. Maybe it's just the pid file.
The last message about the correct "socks" directory can be disregarded; /var/run/mariadb/ is for the pid file, while /var/lib/mysql/ is the correct (default) directory for the "socks" file. As for the dependency issue: depending on your setup, executing yum remove akonadi should resolve the issue.