Bad yum dependencies in the Percona repository

I’ve not had any success getting responses to my posts in this forum, but I thought I’d try again. I’ve installed proxysql2 and Percona-XtraDB-Cluster-client-57 on my web servers which installed fine and work like a dream, but when I try to do a sudo yum update on these systems now, while yum is resolving dependencies, I get weird messages like:

Resolving Dependencies
→ Running transaction check
… bunch of updates I was expecting, then…
—> Package Percona-Server-shared-55.x86_64 0:5.5.62-rel38.14.el7 will be obsoleting
—> Package Percona-Server-shared-56.x86_64 0:5.6.47-rel87.0.1.el7 will be obsoleting
—> Package Percona-Server-shared-compat-57.x86_64 0:5.7.29-32.1.el7 will be obsoleting
—> Package Percona-XtraDB-Cluster-client-57.x86_64 0:5.7.27-31.39.1.el7 will be updated
—> Package Percona-XtraDB-Cluster-client-57.x86_64 0:5.7.28-31.41.1.el7 will be an update
—> Package Percona-XtraDB-Cluster-shared-55.x86_64 1:5.5.41-25.12.855.el7 will be obsoleting
—> Package Percona-XtraDB-Cluster-shared-56.x86_64 1:5.6.46-28.38.1.el7 will be obsoleting
—> Package Percona-XtraDB-Cluster-shared-57.x86_64 0:5.7.28-31.41.1.el7 will be obsoleting
—> Package Percona-XtraDB-Cluster-shared-compat-57.x86_64 0:5.7.28-31.41.1.el7 will be obsoleting
… bunch more updates I was expecting, then…
→ Processing Conflict: Percona-XtraDB-Cluster-shared-57-5.7.28-31.41.1.el7.x86_64 conflicts Percona-Server-shared-56
→ Processing Conflict: 1:Percona-XtraDB-Cluster-shared-56-5.6.46-28.38.1.el7.x86_64 conflicts Percona-Server-shared-56
→ Processing Conflict: 1:Percona-XtraDB-Cluster-shared-55-5.5.41-25.12.855.el7.x86_64 conflicts Percona-XtraDB-Cluster-shared-56
→ Processing Conflict: 1:Percona-XtraDB-Cluster-shared-55-5.5.41-25.12.855.el7.x86_64 conflicts Percona-Server-shared-55
→ Processing Conflict: Percona-Server-shared-compat-57-5.7.29-32.1.el7.x86_64 conflicts Percona-Server-shared-56
→ Processing Conflict: Percona-Server-shared-compat-57-5.7.29-32.1.el7.x86_64 conflicts Percona-Server-shared-55
→ Processing Conflict: Percona-Server-shared-55-5.5.62-rel38.14.el7.x86_64 conflicts Percona-Server-shared-56
→ Processing Conflict: Percona-XtraDB-Cluster-shared-compat-57-5.7.28-31.41.1.el7.x86_64 conflicts Percona-XtraDB-Cluster-shared-56
→ Processing Conflict: Percona-XtraDB-Cluster-shared-compat-57-5.7.28-31.41.1.el7.x86_64 conflicts Percona-XtraDB-Cluster-shared-55
→ Processing Conflict: Percona-Server-shared-56-5.6.47-rel87.0.1.el7.x86_64 conflicts Percona-Server-shared-55
→ Finished Dependency Resolution
Error: Percona-XtraDB-Cluster-shared-57 conflicts with Percona-Server-shared-56-5.6.47-rel87.0.1.el7.x86_64
Error: Percona-Server-shared-55 conflicts with Percona-Server-shared-56-5.6.47-rel87.0.1.el7.x86_64
Error: Percona-XtraDB-Cluster-shared-56 conflicts with Percona-Server-shared-56-5.6.47-rel87.0.1.el7.x86_64
Error: Percona-Server-shared-56 conflicts with Percona-Server-shared-55-5.5.62-rel38.14.el7.x86_64
Error: Percona-XtraDB-Cluster-shared-compat-57 conflicts with 1:Percona-XtraDB-Cluster-shared-55-5.5.41-25.12.855.el7.x86_64
Error: Percona-XtraDB-Cluster-shared-55 conflicts with Percona-Server-shared-55-5.5.62-rel38.14.el7.x86_64
Error: Percona-Server-shared-compat-57 conflicts with Percona-Server-shared-55-5.5.62-rel38.14.el7.x86_64
Error: Percona-XtraDB-Cluster-shared-compat-57 conflicts with 1:Percona-XtraDB-Cluster-shared-56-5.6.46-28.38.1.el7.x86_64
Error: Percona-Server-shared-compat-57 conflicts with Percona-Server-shared-56-5.6.47-rel87.0.1.el7.x86_64
Error: Percona-XtraDB-Cluster-shared-55 conflicts with 1:Percona-XtraDB-Cluster-shared-56-5.6.46-28.38.1.el7.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

And then yum exits without installing anything. I can disable the percona repo file in /etc/yum.repos.d to get everything else updated, but then I get back around to updating the client which I need to turn the repo back on for, but a standard sudo yum update keeps giving me obsoleting and conflict messages. My workaround is to update the package individually by name and then disable the repo again, but it’s kind of a kludge to have to do this separately for the mysql client on my web servers.

This seems to look a lot like [url][PS-4588] adding yum repo to fresh CentOS 7 minimal causes dependency issues - Percona JIRA but that bug is almost 2 years old and has been on hold since last March. Does anyone else have this issue in operations and / or is there a way from the package consumer’s side to fix these dependency issues without this Jira ticket ever getting resolved? I use a local copy of the repo and have considered just deleting some of these trouble rpms I don’t use (the 5.5 and 5.6 stuff, particularly) but I need the 5.7 shared and shared compat updates so it would probably leave me in the same place, although I am open to do some basic surgery after syncing packages, if that would fix this. Alternatively, is there a fix planned for that Jira ticket, or is it on hold forever?

Any suggestions would be appreciated.

Thanks,

Scott

This is a quite irritating repo dependency issue and I suggest that it should be fixed by Percona. By default disable the repo at all time as it will break your system yum updates when having mariadb-libs installed and not even have any Percona packages installed. I use Katello and was luckily able to disabled this repo by default in the activation keys section. I have to enable the Percona repo when performing an product upgrade. Still a clumsy workaround.

The percona packages are designed to protect against updating major versions. So you cannot install 5.7 without uninstalling 5.6. So, you need to ‘yum remove Percona-Server-*-56’ first to remove all 5.6 packages. Then you can install the 5.7 packages.

@LaurensToning It is advised that you replace the mariadb-libs with the percona-server-shared and percona-server-shared-compat libraries, then you won’t have conflicts.

The problem occurs when having no Percona software installed on systems. I had the Percona repo enabled by default for all systems and when a server has the mariadb-libs installed it breaks the yum update. So I have to permanently disable the Percona to be able to yum update systems.

The same problem is also being described at :

Yum / rpm throwing conflict errors for software not installed - CentOS

I strongly advise to have a second look at the issue.

Thanks,

Laurens

hi @LaurensToning

You can just execute sudo yum update --disablerepo=percona-release-x86_64 and update will be performed correctly

@Evgeniy_Patlan that’s true but that doesn’t resolve the main issue and forces me to manually disable the repo to any yum stuff.

@LaurensToning you can install percona-release on your system, using percona-release script disable all repos, and once you decide to install something from our repos - you can enable the needed repo.