Candlepin on current CentOS 8-stream

Problem:
Dependency problems with candlepin’s deps due to re-introduction of tomcat into EL8 repos

Expected outcome:
No dependency conflicts

Foreman and Proxy versions: 3.7.0

Foreman and Proxy plugin versions: 3.7.0

Distribution and version: CentOS 8-Stream for the last week or so

Other relevant data:
CentOS 8-stream includes the upcoming changes for RHEL 8 to re-include tomcat, which seems to conflict with previous dependencies that candlepin depends on. Thus, current CentOS 8-stream says the following with unqualified yum upgrade:

Error: 
 Problem: cannot install the best update candidate for package pki-servlet-engine-1:9.0.30-3.module_el8.5.0+854+e1c92b81.noarch
  - both package tomcat-el-3.0-api-1:9.0.62-12.el8.noarch from imladris_cs_8_x86_64_appstream and tomcat-lib-1:9.0.62-12.el8.noarch from imladris_cs_8_x86_64_appstream obsolete pki-servlet-engine
  - package tomcat-jsp-2.3-api-1:9.0.62-12.el8.noarch from imladris_cs_8_x86_64_appstream requires tomcat-servlet-4.0-api = 1:9.0.62-12.el8, but none of the providers can be installed
  - package tomcat-lib-1:9.0.62-12.el8.noarch from imladris_cs_8_x86_64_appstream requires tomcat-servlet-4.0-api = 1:9.0.62-12.el8, but none of the providers can be installed
  - package tomcat-servlet-4.0-api-1:9.0.62-12.el8.noarch from imladris_cs_8_x86_64_appstream is filtered out by modular filtering
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Doubtless this will be a complication for IdM/FreeIPA too, just wanted to report it here so it would be on the “radar” if it isn’t already

Thanks. We are aware and are coordinating with the team that manages the Tomcat packages. Right now the workaround to update a system hitting this error is to use --nobest so that it skips the Tomcat related packages and allows the rest of the packages to update.

1 Like

It’s being tracked in Loading... and should be untagged in the next CentOS Stream update.

Update: CentOS Stream 8 has fixed the Tomcat issue by cleaning up the bad packages and now updates of the system should be able to proceed as normal. That is, --nobest is no longer required.

1 Like

The issue seems to still haunt my Foreman server. If the issue is resolved, how can I work out why I’m still seeing this issue?

user@fm01:~$ sudo dnf list --showduplicates tomcat                                                                                                                                               [352/352]
Last metadata expiration check: 0:02:34 ago on Wed 24 Jan 2024 19:46:40 CET.
Installed Packages
tomcat.noarch                                                                                   1:9.0.62-12.el8                                                                                    @appstream
Available Packages
tomcat.noarch                                                                                   1:9.0.62-14.el8                                                                                    appstream
tomcat.noarch                                                                                   1:9.0.62-27.el8                                                                                    appstream
tomcat.noarch                                                                                   1:9.0.62-29.el8                                                                                    appstream
user@fm01:~$ sudo dnf update tomcat
CentOS Stream 8 - AppStream                                                                                                                                                   22 kB/s | 4.4 kB     00:00
Error:
 Problem: problem with installed package candlepin-4.3.1-1.el8.noarch
  - package candlepin-4.3.1-1.el8.noarch from @System requires pki-servlet-engine, but none of the providers can be installed
  - package candlepin-4.3.1-1.el8.noarch from katello-candlepin requires pki-servlet-engine, but none of the providers can be installed
  - package tomcat-1:9.0.62-29.el8.noarch from appstream conflicts with pki-servlet-engine <= 1:9.0.50 provided by tomcat-1:9.0.62-12.el8.noarch from @System
  - cannot install both tomcat-1:9.0.62-29.el8.noarch from appstream and tomcat-1:9.0.62-12.el8.noarch from @System
  - package tomcat-1:9.0.62-29.el8.noarch from appstream conflicts with pki-servlet-engine <= 1:9.0.50 provided by pki-servlet-engine-1:9.0.30-1.module_el8.4.0+595+e59c9af2.noarch from appstream
  - package tomcat-1:9.0.62-29.el8.noarch from appstream conflicts with pki-servlet-engine <= 1:9.0.50 provided by pki-servlet-engine-1:9.0.30-3.module_el8.5.0+854+e1c92b81.noarch from appstream
  - cannot install the best update candidate for package tomcat-1:9.0.62-12.el8.noarch
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

I think the issue is that tomcat is on your system from some before time and causing problems. Try removing tomcat and updating.

If I try to remove tomcat it will also remove katello, I’ll have a look to see if I can force the removal of tomcat without also removing katello.

Noting that we are also discussing in Foreman upgrade from 3.8 to 3.9 failed - #21 by ehelms and we’ll continue in that thread.