+++ This bug was initially created as a clone of Bug #1296992 +++ +++ This bug was initially created as a clone of Bug #1296931 +++ Description of problem: CentOS-7 comes with glusterfs-3.7.x in the base/updates repository. This seems to make it impossible to install glusterfs-3.6.x. Version-Release number of selected component (if applicable): 3.6.8 (but earlier as well) How reproducible: 100% Steps to Reproduce: 1. Install a minimal CentOS-7 system 2. Download the packages from http://cbs.centos.org/koji/buildinfo?buildID=8205 3. Install the packages Actual results: ... ---> Package glusterfs-server.x86_64 0:3.6.6-1.el7 will be installed --> Processing Dependency: glusterfs-libs = 3.6.6-1.el7 for package: glusterfs-server-3.6.6-1.el7.x86_64 --> Processing Dependency: glusterfs-fuse = 3.6.6-1.el7 for package: glusterfs-server-3.6.6-1.el7.x86_64 --> Processing Dependency: glusterfs-cli = 3.6.6-1.el7 for package: glusterfs-server-3.6.6-1.el7.x86_64 --> Processing Dependency: glusterfs = 3.6.6-1.el7 for package: glusterfs-server-3.6.6-1.el7.x86_64 --> Processing Dependency: rpcbind for package: glusterfs-server-3.6.6-1.el7.x86_64 --> Processing Dependency: psmisc for package: glusterfs-server-3.6.6-1.el7.x86_64 --> Processing Dependency: nfs-utils for package: glusterfs-server-3.6.6-1.el7.x86_64 --> Processing Dependency: libgfapi.so.0(GFAPI_PRIVATE_3.4.0)(64bit) for package: glusterfs-server-3.6.6-1.el7.x86_64 --> Processing Dependency: libgfapi.so.0(GFAPI_3.4.0)(64bit) for package: glusterfs-server-3.6.6-1.el7.x86_64 --> Processing Dependency: libglusterfs.so.0()(64bit) for package: glusterfs-server-3.6.6-1.el7.x86_64 --> Processing Dependency: libgfxdr.so.0()(64bit) for package: glusterfs-server-3.6.6-1.el7.x86_64 --> Processing Dependency: libgfrpc.so.0()(64bit) for package: glusterfs-server-3.6.6-1.el7.x86_64 --> Processing Dependency: libgfapi.so.0()(64bit) for package: glusterfs-server-3.6.6-1.el7.x86_64 ... ---> Package glusterfs.x86_64 0:3.6.6-1.el7 will be installed ---> Package glusterfs-api.x86_64 0:3.7.1-16.el7 will be installed --> Processing Dependency: glusterfs-client-xlators = 3.7.1-16.el7 for package: glusterfs-api-3.7.1-16.el7.x86_64 --> Processing Dependency: glusterfs = 3.7.1-16.el7 for package: glusterfs-api-3.7.1-16.el7.x86_64 ---> Package glusterfs-cli.x86_64 0:3.6.6-1.el7 will be installed ---> Package glusterfs-fuse.x86_64 0:3.6.6-1.el7 will be installed --> Processing Dependency: glusterfs = 3.6.6-1.el7 for package: glusterfs-fuse-3.6.6-1.el7.x86_64 ... ---> Package glusterfs-libs.x86_64 0:3.6.6-1.el7 will be installed ... --> Running transaction check ... ---> Package glusterfs.x86_64 0:3.6.6-1.el7 will be installed --> Processing Dependency: glusterfs = 3.6.6-1.el7 for package: glusterfs-fuse-3.6.6-1.el7.x86_64 --> Processing Dependency: glusterfs = 3.6.6-1.el7 for package: glusterfs-server-3.6.6-1.el7.x86_64 ---> Package glusterfs.x86_64 0:3.7.1-16.el7 will be installed --> Processing Dependency: glusterfs-libs = 3.7.1-16.el7 for package: glusterfs-3.7.1-16.el7.x86_64 ---> Package glusterfs-client-xlators.x86_64 0:3.7.1-16.el7 will be installed ---> Package glusterfs-fuse.x86_64 0:3.6.6-1.el7 will be installed --> Processing Dependency: glusterfs = 3.6.6-1.el7 for package: glusterfs-fuse-3.6.6-1.el7.x86_64 ... --> Finished Dependency Resolution Error: Package: glusterfs-server-3.6.6-1.el7.x86_64 (centos-gluster36) Requires: glusterfs = 3.6.6-1.el7 Available: glusterfs-3.6.6-1.el7.x86_64 (centos-gluster36) glusterfs = 3.6.6-1.el7 Installing: glusterfs-3.7.1-16.el7.x86_64 (base) glusterfs = 3.7.1-16.el7 Error: Package: glusterfs-cli-3.6.6-1.el7.x86_64 (centos-gluster36) Requires: glusterfs-libs = 3.6.6-1.el7 Available: glusterfs-libs-3.6.6-1.el7.x86_64 (centos-gluster36) glusterfs-libs = 3.6.6-1.el7 Installing: glusterfs-libs-3.7.1-16.el7.x86_64 (base) glusterfs-libs = 3.7.1-16.el7 Error: Package: glusterfs-fuse-3.6.6-1.el7.x86_64 (centos-gluster36) Requires: glusterfs = 3.6.6-1.el7 Available: glusterfs-3.6.6-1.el7.x86_64 (centos-gluster36) glusterfs = 3.6.6-1.el7 Installing: glusterfs-3.7.1-16.el7.x86_64 (base) glusterfs = 3.7.1-16.el7 You could try using --skip-broken to work around the problem Error: Package: glusterfs-server-3.6.6-1.el7.x86_64 (centos-gluster36) Requires: glusterfs-libs = 3.6.6-1.el7 Available: glusterfs-libs-3.6.6-1.el7.x86_64 (centos-gluster36) glusterfs-libs = 3.6.6-1.el7 Installing: glusterfs-libs-3.7.1-16.el7.x86_64 (base) glusterfs-libs = 3.7.1-16.el7 You could try running: rpm -Va --nofiles --nodigest Expected results: Installation succeeds. Additional info: Hooraay for CentOS CI! --- Additional comment from Niels de Vos on 2016-01-08 14:27:30 CET --- I suspect that the problem is caused by these automatically generated dependencies: libgfapi.so.0(GFAPI_PRIVATE_3.4.0)(64bit) libgfapi.so.0(GFAPI_3.4.0)(64bit) libglusterfs.so.0()(64bit) libgfxdr.so.0()(64bit) libgfrpc.so.0()(64bit) libgfapi.so.0()(64bit) glusterfs-server depends on all these. The installation problem can probably be prevented when glusterfs-server only has versioned dependencies on the glusterfs-libs and glusterfs-api packages. The dependency resolver might want to install the latest version of a package that provides the requirements. --- Additional comment from Kaleb KEITHLEY on 2016-01-08 15:15:35 CET --- Okay, but... I believe that many of us understand that to install 3.6.x, by definition you must first uninstall the existing 3.7.x bits that are included as part of base CentOS (and RHEL.) Given that, is this really a bug? Is it really possible, other than with some serious hack, to make a seamless 3.6.x install? Can we solve this with (better) documentation? --- Additional comment from Niels de Vos on 2016-01-08 15:40:13 CET --- (In reply to Kaleb KEITHLEY from comment #2) > Okay, but... > > I believe that many of us understand that to install 3.6.x, by definition > you must first uninstall the existing 3.7.x bits that are included as part > of base CentOS (and RHEL.) > > Given that, is this really a bug? Yes, because this happens when there are no glusterfs packages installed. The recent updates for CentOS-7 started to provide glusterfs-3.7.x (like RHEL-7.2). Before the 3.6.x versions from the Storage SIG were newer than the base/update packages from CentOS/RHEL. This has changed. > Is it really possible, other than with some serious hack, to make a seamless > 3.6.x install? We already exclude some automatically generated provides/requirements for some parts. I think we should be able to do so for the libraries in glusterfs-libs too. Alternatively the packages in the Storage SIG could use an epoch, so that they will always be considered newer than the CentOS/RHEL packages. > Can we solve this with (better) documentation? I doubt it, it will make installing more difficult. --- Additional comment from Vijay Bellur on 2016-01-08 17:25:05 CET --- REVIEW: http://review.gluster.org/13200 (rpm: glusterfs-server requires -api) posted (#1) for review on master by Niels de Vos (ndevos)
REVIEW: http://review.gluster.org/13202 (rpm: glusterfs-server requires -api) posted (#1) for review on release-3.7 by Niels de Vos (ndevos)
REVIEW: http://review.gluster.org/13202 (rpm: glusterfs-server requires -api) posted (#2) for review on release-3.7 by Niels de Vos (ndevos)
REVIEW: http://review.gluster.org/13202 (rpm: glusterfs-server requires -api) posted (#3) for review on release-3.7 by Niels de Vos (ndevos)
COMMIT: http://review.gluster.org/13202 committed in release-3.7 by Niels de Vos (ndevos) ------ commit e72a77a9eb86b51f0985db6091bedc8606e0a5eb Author: Niels de Vos <ndevos> Date: Fri Jan 8 16:43:15 2016 +0100 rpm: glusterfs-server requires -api The glusterfs-server package requires libgfapi.so for the glfs-heal binary and possibly other parts. Also adding %{?_isa} to requirements as described in the Fedora Packaging Guidelines for Explicit Requires at https://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires This is a backport of: > BUG: 1296992 > Change-Id: I96c62876b776d04a7f5d1b1dc34c02302b6ffbe6 > Reviewed-on: http://review.gluster.org/13200 > Signed-off-by: Niels de Vos <ndevos> BUG: 1296996 Change-Id: I96c62876b776d04a7f5d1b1dc34c02302b6ffbe6 Signed-off-by: Niels de Vos <ndevos> Reviewed-on: http://review.gluster.org/13202 Smoke: Gluster Build System <jenkins.com> CentOS-regression: Gluster Build System <jenkins.com> Reviewed-by: Kaleb KEITHLEY <kkeithle> NetBSD-regression: NetBSD Build System <jenkins.org>
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.7.7, please open a new bug report. glusterfs-3.7.7 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] https://www.gluster.org/pipermail/gluster-users/2016-February/025292.html [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user