On Sat, Dec 08, 2018 at 12:27:56PM +0100, Niels de Vos wrote:
> On Sat, Dec 08, 2018 at 01:17:11AM +0000, c...@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@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@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@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@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@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
_______________________________________________
Gluster-devel mailing list
Gluster-devel@gluster.org
https://lists.gluster.org/mailman/listinfo/gluster-devel

Reply via email to