Foreman 3.2 and Katello 4.4 requires qpid-proton-c = 0.36.0 but only 37 is available in EPEL for RHEL 7

Problem:
Foreman 3.2 with Katello 4.4 installation fails due to qpid-proton-c version is newer in EPEL RHEL 7

Expected outcome:
Install completes successfully

Foreman and Proxy versions:
Foreman 3.2 / Katello 4.4

Other relevant data:
Full installation output:

[root@4man ~]# foreman-installer --scenario katello --foreman-initial-organization “” --foreman-initial-location “” --foreman-initial-admin-password “” --foreman-proxy-dhcp “true” --foreman-proxy-dns “false” --foreman-proxy-tftp “true” --enable-foreman-plugin-discovery --enable-foreman-proxy-plugin-discovery --foreman-proxy-plugin-discovery-install-images=true --enable-foreman-plugin-ansible --enable-foreman-proxy-plugin-ansible --enable-foreman-plugin-remote-execution --enable-foreman-proxy-plugin-remote-execution-ssh --foreman-proxy-plugin-discovery-source-url=http://downloads.theforeman.org/discovery/releases/3.8/
2022-04-04 13:17:06 [NOTICE] [root] Loading installer configuration. This will take some time.
2022-04-04 13:17:12 [NOTICE] [root] Running installer with log based terminal output at level NOTICE.
2022-04-04 13:17:12 [NOTICE] [root] Use -l to set the terminal output log level to ERROR, WARN, NOTICE, INFO, or DEBUG. See --full-help for definitions.
2022-04-04 13:17:16 [NOTICE] [configure] Starting system configuration.
2022-04-04 13:20:27 [ERROR ] [configure] Execution of ‘/bin/yum -d 0 -e 0 -y install katello’ returned 1: Error: Package: tfm-rubygem-qpid_proton-0.36.0-1.el7.x86_64 (katello)
2022-04-04 13:20:27 [ERROR ] [configure] Requires: qpid-proton-c = 0.36.0
2022-04-04 13:20:27 [ERROR ] [configure] Available: qpid-proton-c-0.37.0-1.el7.x86_64 (epel)
2022-04-04 13:20:27 [ERROR ] [configure] qpid-proton-c = 0.37.0-1.el7
2022-04-04 13:20:27 [ERROR ] [configure] You could try using --skip-broken to work around the problem
2022-04-04 13:20:27 [ERROR ] [configure] You could try running: rpm -Va --nofiles --nodigest
2022-04-04 13:20:27 [ERROR ] [configure] /Stage[main]/Katello/Package[katello]/ensure: change from ‘purged’ to ‘present’ failed: Execution of ‘/bin/yum -d 0 -e 0 -y install katello’ returned 1: Error: Package: tfm-rubygem-qpid_proton-0.36.0-1.el7.x86_64 (katello)
2022-04-04 13:20:27 [ERROR ] [configure] Requires: qpid-proton-c = 0.36.0
2022-04-04 13:20:27 [ERROR ] [configure] Available: qpid-proton-c-0.37.0-1.el7.x86_64 (epel)
2022-04-04 13:20:27 [ERROR ] [configure] qpid-proton-c = 0.37.0-1.el7
2022-04-04 13:20:27 [ERROR ] [configure] You could try using --skip-broken to work around the problem
2022-04-04 13:20:27 [ERROR ] [configure] You could try running: rpm -Va --nofiles --nodigest
2022-04-04 13:20:27 [NOTICE] [configure] 250 configuration steps out of 1874 steps complete.
2022-04-04 13:26:40 [NOTICE] [configure] 500 configuration steps out of 1874 steps complete.
2022-04-04 13:27:37 [NOTICE] [configure] 750 configuration steps out of 1876 steps complete.
2022-04-04 13:30:18 [NOTICE] [configure] 1000 configuration steps out of 1883 steps complete.
2022-04-04 13:32:02 [NOTICE] [configure] 1250 configuration steps out of 1902 steps complete.
2022-04-04 13:33:41 [ERROR ] [configure] Execution of ‘/bin/yum -d 0 -e 0 -y install tfm-rubygem-katello’ returned 1: Error: Package: tfm-rubygem-qpid_proton-0.36.0-1.el7.x86_64 (katello)
2022-04-04 13:33:41 [ERROR ] [configure] Requires: qpid-proton-c = 0.36.0
2022-04-04 13:33:41 [ERROR ] [configure] Available: qpid-proton-c-0.37.0-1.el7.x86_64 (epel)
2022-04-04 13:33:41 [ERROR ] [configure] qpid-proton-c = 0.37.0-1.el7
2022-04-04 13:33:41 [ERROR ] [configure] You could try using --skip-broken to work around the problem
2022-04-04 13:33:41 [ERROR ] [configure] You could try running: rpm -Va --nofiles --nodigest
2022-04-04 13:33:41 [ERROR ] [configure] /Stage[main]/Katello::Application/Foreman::Plugin[katello]/Package[tfm-rubygem-katello]/ensure: change from ‘purged’ to ‘present’ failed: Execution of ‘/bin/yum -d 0 -e 0 -y install tfm-rubygem-katello’ returned 1: Error: Package: tfm-rubygem-qpid_proton-0.36.0-1.el7.x86_64 (katello)
2022-04-04 13:33:41 [ERROR ] [configure] Requires: qpid-proton-c = 0.36.0
2022-04-04 13:33:41 [ERROR ] [configure] Available: qpid-proton-c-0.37.0-1.el7.x86_64 (epel)
2022-04-04 13:33:41 [ERROR ] [configure] qpid-proton-c = 0.37.0-1.el7
2022-04-04 13:33:41 [ERROR ] [configure] You could try using --skip-broken to work around the problem
2022-04-04 13:33:41 [ERROR ] [configure] You could try running: rpm -Va --nofiles --nodigest
2022-04-04 13:33:41 [NOTICE] [configure] 1500 configuration steps out of 1902 steps complete.
2022-04-04 13:34:20 [NOTICE] [configure] 1750 configuration steps out of 1902 steps complete.
2022-04-04 13:36:21 [NOTICE] [configure] System configuration has finished.

There were errors detected during install.
Please address the errors and re-run the installer to ensure the system is properly configured.
Failing to do so is likely to result in broken functionality.

The full log is at /var/log/foreman-installer/katello.log
[root@4man ~]#

1 Like

We are actively looking into resolving this issue (waiting on the qpid proton team to generate a rubygem for their rpm.)

1 Like

Got it, thanks

This thing seems to bite us every other week. Is there no chance of opening up a wider range of dependencies to qpid-proton-c, like >=0.30 and <=0.39?

In short: No! My understanding is that the = dependency that keeps causing this problem, exists between two packages that need to be ABI (binary) compatible with each other. Even worse, the binary half of this package comes from EPEL, which keeps throwing out the old version, and replacing it with a new one.

Everyone is annoyed by this issue! If there was a simple solution that “just works” it would have been implemented by now. :frowning_face:

1 Like

Can I ask what the turn around time might be till this is resolved? Week, 2 weeks, a month?

1 Like

This seems to have been resolved.

This is what helped me to get it resolved:

Remove the package with nodeps and run yum update.
Yum update will update the package to the latest version with no dependency issue.

#rpm --erase --nodeps qpid-proton-c