[Gluster-devel] [CI-results] gluster_build-rpms - Build # 9068 - Still Failing! (release-3.12 on CentOS-6/x86_64)

Niels de Vos ndevos at redhat.com
Mon Dec 10 15:06:11 UTC 2018


On Sat, Dec 08, 2018 at 12:27:56PM +0100, Niels de Vos wrote:
> On Sat, Dec 08, 2018 at 01:17:11AM +0000, ci at centos.org wrote:
> > gluster_build-rpms - Build # 9068 - Still Failing:
> > 
> > Check console output at https://ci.centos.org/job/gluster_build-rpms/9068/ to view the results.
> 
> This is strange, with Gluster 5 being released the
> centos-release-gluster package that gets installed is
> centos-release-gluster-legacy which disables unmainted versions. Instead
> of centos-release-gluster-legacy it is expected to get
> centos-release-gluster5.
> 
> I can reproduce this in a clean CentOS 7.1810 Vagrant VM.
> 
>     [root at localhost ~]# repoquery --whatprovides centos-release-gluster
>     centos-release-gluster-legacy-0:4.0-1.el7.centos.noarch
>     centos-release-gluster41-0:1.0-3.el7.centos.noarch
>     centos-release-gluster5-0:1.0-1.el7.centos.noarch
>     [root at localhost ~]# repoquery --provides centos-release-gluster5
>     centos-release-gluster = 5
>     centos-release-gluster5 = 1.0-1.el7.centos
>     config(centos-release-gluster5) = 1.0-1.el7.centos
>     [root at localhost ~]# repoquery --provides centos-release-gluster-legacy
>     centos-release-gluster = 3.10
>     centos-release-gluster = 3.12
>     centos-release-gluster = 3.6
>     centos-release-gluster = 3.7
>     centos-release-gluster = 3.8
>     centos-release-gluster = 4.0
>     centos-release-gluster-legacy = 4.0-1.el7.centos
> 
> The highest version for centos-release-gluster comes from
> centos-release-gluster5. It is unclear to me why yum chooses to install
> the -legacy one.
> 
>     [root at localhost ~]# yum --verbose install centos-release-gluster
>     Loading "fastestmirror" plugin
>     Config time: 0.005
>     Yum version: 3.4.3
>     rpmdb time: 0.000
>     Setting up Package Sacks
>     Loading mirror speeds from cached hostfile
>      * base: mirror.neostrada.nl
>      * extras: mirror.neostrada.nl
>      * updates: ftp.nluug.nl
>     pkgsack time: 0.007
>     Checking for virtual provide or file-provide for centos-release-gluster
>     looking for ('centos-release', 'GE', ('0', '7', '5.1804.el7.centos.2')) as a requirement of centos-release-gluster41.noarch 0:1.0-3.el7.centos - None
>     looking for ('centos-release-storage-common', None, (None, None, None)) as a requirement of centos-release-gluster41.noarch 0:1.0-3.el7.centos - None
>     looking for ('centos-release', 'GE', ('0', '7', '5.1804.el7.centos.2')) as a requirement of centos-release-gluster5.noarch 0:1.0-1.el7.centos - None
>     looking for ('centos-release-storage-common', None, (None, None, None)) as a requirement of centos-release-gluster5.noarch 0:1.0-1.el7.centos - None
>     Obs Init time: 0.057
>     Resolving Dependencies
>     --> Running transaction check
>     ---> Package centos-release-gluster-legacy.noarch 0:4.0-1.el7.centos will be installed
>     Checking deps for centos-release-gluster-legacy.noarch 0:4.0-1.el7.centos - u
>     --> Finished Dependency Resolution
>     Dependency Process ending
>     Depsolve time: 0.290
>     
>     Dependencies Resolved
>     
>     ================================================================================
>      Package                          Arch      Version             Repository
>                                                                                Size
>     ================================================================================
>     Installing:
>      centos-release-gluster-legacy    noarch    4.0-1.el7.centos    extras    5.0 k
>     
>     Transaction Summary
>     ================================================================================
>     Install  1 Package
> 
> However there seems to be a workaround... If
> centos-release-storage-common is installed already, the -gluster5
> package gets installed?! Possibly yum changed from picking the latest
> version to 'fewest dependencies', or something?
> 
>     [root at localhost ~]# yum --verbose install centos-release-storage-common centos-release-gluster 
>     Loading "fastestmirror" plugin
>     Config time: 0.005
>     Yum version: 3.4.3
>     rpmdb time: 0.000
>     Setting up Package Sacks
>     Loading mirror speeds from cached hostfile
>      * base: mirror.neostrada.nl
>      * extras: mirror.neostrada.nl
>      * updates: ftp.nluug.nl
>     pkgsack time: 0.008
>     Obs Init time: 0.056
>     Checking for virtual provide or file-provide for centos-release-gluster
>     looking for ('centos-release', 'GE', ('0', '7', '5.1804.el7.centos.2')) as a requirement of centos-release-gluster41.noarch 0:1.0-3.el7.centos - None
>     looking for ('centos-release-storage-common', None, (None, None, None)) as a requirement of centos-release-gluster41.noarch 0:1.0-3.el7.centos - None
>     looking for ('centos-release', 'GE', ('0', '7', '5.1804.el7.centos.2')) as a requirement of centos-release-gluster5.noarch 0:1.0-1.el7.centos - None
>     looking for ('centos-release-storage-common', None, (None, None, None)) as a requirement of centos-release-gluster5.noarch 0:1.0-1.el7.centos - None
>     Resolving Dependencies
>     --> Running transaction check
>     ---> Package centos-release-gluster5.noarch 0:1.0-1.el7.centos will be installed
>     Checking deps for centos-release-gluster5.noarch 0:1.0-1.el7.centos - u
>     looking for ('centos-release', 'GE', ('0', '7', '5.1804.el7.centos.2')) as a requirement of centos-release-gluster5.noarch 0:1.0-1.el7.centos - u
>     looking for ('centos-release-storage-common', None, (None, None, None)) as a requirement of centos-release-gluster5.noarch 0:1.0-1.el7.centos - u
>     ---> Package centos-release-storage-common.noarch 0:2-2.el7.centos will be installed
>     Checking deps for centos-release-storage-common.noarch 0:2-2.el7.centos - u
>     looking for ('centos-release', 'GE', ('0', '7', '5.1804.el7.centos.2')) as a requirement of centos-release-storage-common.noarch 0:2-2.el7.centos - u
>     --> Finished Dependency Resolution
>     Dependency Process ending
>     Depsolve time: 0.278
>     
>     Dependencies Resolved
>     
>     ================================================================================
>      Package                          Arch      Version             Repository
>                                                                                Size
>     ================================================================================
>     Installing:
>      centos-release-gluster5          noarch    1.0-1.el7.centos    extras    4.3 k
>      centos-release-storage-common    noarch    2-2.el7.centos      extras    5.1 k
>     
>     Transaction Summary
>     ================================================================================
>     Install  2 Packages
> 
> The order of the packages *is* important it seems. If -gluster5 is
> placed before -storage-common, it does not work an -gluster-legacy gets
> installed...
> 
> A workaround is now available at
> https://github.com/gluster/centosci/pull/50 , please review and merge as
> soon as possible.
> 
> I'll research if this is an intended change in yum, a bug or if it comes
> from somewhere else, later.

The issue has been found. Although still unclear why things were working
with previous versions of the packages.

The cause of the problem seems that YUM does not have a predictable way
of handling/resolving packages that have multiple Provides: for a
certain virtual package. In this case centos-release-gluster is provided
by centos-release-gluster{41,5,-legacy} builds. The -legacy package has
multiple "Provides: centos-release-gluster = $VERSION" entries. YUM does
not like that and returns too early from a certain dependency resolver
function.

Updated packages will become available soon. The builds have been passed
on to the CentOS team for signing and pushing to the mirrors. In order
to have the issue resolved on both CentOS 7 & 6, the following updates
have been provided:

- centos-release-gluster-legacy-4.0-2.el7.centos
- centos-release-gluster-legacy-4.0-2.el6.centos
- centos-release-gluster41-1.0-3.el6.centos

As soon as these packages land in CentOS Extras, all jobs will start to
function correctly again.

Niels


More information about the Gluster-devel mailing list