[Bugs] [Bug 1296996] New: Stricter dependencies for glusterfs-server

bugzilla at redhat.com bugzilla at redhat.com
Fri Jan 8 16:36:03 UTC 2016


https://bugzilla.redhat.com/show_bug.cgi?id=1296996

            Bug ID: 1296996
           Summary: Stricter dependencies for glusterfs-server
           Product: GlusterFS
           Version: 3.7.7
         Component: build
          Keywords: Triaged
          Assignee: ndevos at redhat.com
          Reporter: ndevos at redhat.com
                CC: bugs at gluster.org, gluster-bugs at redhat.com,
                    kkeithle at redhat.com
        Depends On: 1296992



+++ 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 at redhat.com)


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1296992
[Bug 1296992] Stricter dependencies for glusterfs-server
-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=h0KzbBHO3j&a=cc_unsubscribe


More information about the Bugs mailing list