Katello installs for 4.0 and 4.1 are broken due to qpid-proton update in EPEL on EL7

For anyone running into this problem:

Error: Package: tfm-rubygem-qpid_proton-0.33.0-1.el7.x86_64 (@katello)
           Requires: qpid-proton-c = 0.33.0
           Removing: qpid-proton-c-0.33.0-1.el7.x86_64 (@epel)
               qpid-proton-c = 0.33.0-1.el7
           Updated By: qpid-proton-c-0.34.0-1.el7.x86_64 (epel)
               qpid-proton-c = 0.34.0-1.el7
           Available: qpid-proton-c-0.14.0-2.el7.x86_64 (extras)
               qpid-proton-c = 0.14.0-2.el7

Updates to the qpid-proton package have propagated into EPEL 7 which requires Katello releases to update the tfm-rubygem-qpid_proton in use to 0.34.0. We are working on this as fast as we can to build this gem version and get it propagated to the various release streams. EL8 installations are unaffected by this as we do not support EPEL on EL8 and carry our own qpid packages.

Working is happening here:

If anyone notices any issues with Katello 3.18 related to this issue please post them here for us to evaluate.

3 Likes

Great work Ehelms and thanks for such a quick response! :ok_hand:

Today I have tried to install Katello 4.0/Foreman2.4 on Centos-7, and 4.0/2.4 and 4.1/2.5 on both Centos-8 and stream, and all combinations seem to be stuck in some kind of dependency hell?

# yum install katello
CentOS Stream 8 - AppStream                                                       17 kB/s | 4.4 kB     00:00
CentOS Stream 8 - BaseOS                                                          21 kB/s | 3.9 kB     00:00
CentOS Stream 8 - Extras                                                          11 kB/s | 3.0 kB     00:00
Error:
 Problem: package katello-4.1.0-0.6.rc1.el8.noarch requires candlepin >= 2.0, but none of the providers can be installed
  - package candlepin-4.0.2-1.el8.noarch requires tomcatjss >= 7.2.1-7.1, but none of the providers can be installed
  - conflicting requests
  - package tomcatjss-7.6.1-1.module_el8.5.0+737+ee953a1e.noarch is filtered out by modular filtering
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Why is it that Katello seems to have become so much more difficult to install? I personally would gladly pay any reasonable sum to subscribe to a repo where I could guarantee a clean install whenever I needed it, even if it was not the absolute latest version.

I have now managed to install F2.5/K4.1 on Centos-Stream by playing around with the module streams. I am unsure if this will bite me in the a55 later-on but this does not matter for my crash and burn environment.

Here is my slightly dodgy solution:

# yum module provides tomcatjss
# yum module enable pki-core:10.6:8050020210329130923:01d2cef5:x86_64
# yum install tomcatjss

# yum module reset ruby
# yum module enable ruby:2.7:8030020200722170034:30b713e6:x86_64
# yum install katello

I hope this helps.

Well, the issue on CentOS 7 is an EPEL issue and that’s always the problem if you use EPEL. Any update in EPEL may break your software. I guess that is the main reason why EPEL is not supported with installations on CentOS 8: Supported Operating Systems That, of course, will still create headache for those who need EPEL for other things (like nagios checks).

For katello 4.1 on centos8: it’s still not officially released so you can’t be certain that’s 100% perfect. If you find problems, give feedback to development.

For katello 4.0 on centos8: that is a known issue.

But all that is already sidetracking this topic which is one something else…

Hi,

Thanks for your response. I shall go back to my Centos-7 build and try without EPEL as it could be as simple as that?
I only need to end-up with a working F/K box and there will be almost nothing else on it. I only tried with version 8.x as it was a possible way for me to continue with my automation work.

I am no genius, however if it helps I am happy to participate in the (dev) community and to share my work as I am really keen to get involved.

Regards,
Andrew

For CentOS 7 installations you need EPEL as that is where the qpid packages and some others come from. When we built for CentOS 8 and Stream, we learned some lessons from EL7 and decided to avoid EPEL as it can break installations out of band (as you are seeing here).

Katello 4.1 is still in RC phase. This version of Katello does not turn on the katello-agent (thus qpid) infrastructure by default so in theory it will not hit this issue on EL7 out of the box.

For new 4.0 installations on EL7, you can (while we work on the release process) grab the updated tfm-rubygem-qpid_proton and install it from this link: http://koji.katello.org/kojifiles/packages/tfm-rubygem-qpid_proton/0.34.0/2.el7/x86_64/tfm-rubygem-qpid_proton-0.34.0-2.el7.x86_64.rpm

Good morning.

Works as intended, thanks for the work-around.

tried it install this rpm, getting depency error

qpid-proton-c = 0.34.0 is needed by tfm-rubygem-qpid_proton-0.34.0-2.el7.x86_64

had to enable epel-testing repo , got it.

It should be in epel. You should not need epel-testing.

Same problem ,
can you give the URL to the location qpid-proton-c(x86-64) = 0.33.0-1.el7 please so I can add please.

epel didnt work for me, had to enable testing repo and do a yum install

That’s weird. You can’t install katello 4 because it wants to install the new version of qpid-proton-c but if you want to install the new version tfm-rubygem-qpid_proton-0.34.0-2.el7.x86_64 it doesn’t find the new qpid-proton-c anymore? Sounds to me as if you either didn’t set epel to enabled or you did use “yum install”.

Are you sure you had epel (and not epel-testing) enabled and you have used “yum install tfm-rubygem-qpid_proton-0.34.0-2.el7.x86_64“?

I should add the error:
Error: Package: python2-qpid-proton-0.33.0-1.el7.x86_64 (epel_mirror)
Requires: qpid-proton-c(x86-64) = 0.33.0-1.el7
Available: qpid-proton-c-0.14.0-2.el7.x86_64 (centos-extras)
qpid-proton-c(x86-64) = 0.14.0-2.el7

yes, epel is enabled, it didnt find rpm. so enabled testing and did yum install

Then it looks as if your “epel_mirror” is outdated and missing some rpms

Current versions in epel:

https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/
python2-qpid-proton-0.34.0-1.el7.x86_64.rpm

and

https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/q/
qpid-proton-c-0.34.0-1.el7.x86_64.rpm

What is that “epel_mirror”? That does not come from the standard epel-release rpm. It seems you have your own custom repo file for an outdated epel repository.

Run “yum repolist -v epel_mirror epel”.

Sounds to me as if first you did not do “yum install” but something else?

What is your epel repository? Run “yum repolist -v”

With the release of Katello 4.0.1 this should now be resolved for Katello 4.0. For those testing the 4.1 RCs, the fix for that stream is still being processed through our release process.

I found a temporary work around for installing 4.0/2.4 on Centos 7.9. Its a bit messy but I am running again with it:

yum erase qpid-proton-c
wget ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/7/x86_64/Packages/q/qpid-proton-c-0.33.0-1.el7.x86_64.rpm
yum localinstall qpid-proton-c-0.33.0-1.el7.x86_64.rpm
yum --disablerepo=epel install katello
yum update -y --skip-broken

I know this is not the best solution but my Foreman/Katello is working now and seems perfectly stable.

1 Like

Hello, I’m doing my first installation of Katello on CentOS 7.9.
During the installation process, I’m getting errors as the system can’t install qpid-proton-c version 0.34.0.
I tried to manually install qpid-proton-c-0.34.0-1.el7 but I keep getting the same error, even if I try to manually install tfm-rubygem-qpid_proton.

Error: Package: tfm-rubygem-qpid_proton-0.34.0-2.el7.x86_64 (katello)
           Requires: qpid-proton-c = 0.34.0
           Removing: qpid-proton-c-0.34.0-1.el7.x86_64 (@epel7-centos7-x86_64)
               qpid-proton-c = 0.34.0-1.el7
           Updated By: qpid-proton-c-0.35.0-1.el7.x86_64 (epel7-centos7-x86_64)
               qpid-proton-c = 0.35.0-1.el7
           Available: qpid-proton-c-0.14.0-2.el7.x86_64 (centos7-x86_64-extras)
               qpid-proton-c = 0.14.0-2.el7
           Available: qpid-proton-c-0.32.0-2.el7.x86_64 (epel7-centos7-x86_64)
               qpid-proton-c = 0.32.0-2.el7
           Available: qpid-proton-c-0.33.0-1.el7.x86_64 (epel7-centos7-x86_64)
               qpid-proton-c = 0.33.0-1.el7
           Available: qpid-proton-c-0.34.0-2.el7.x86_64 (epel7-centos7-x86_64)
               qpid-proton-c = 0.34.0-2.el7
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Please help me