Katello Upgrade 3.9/4.11.0 --> 3.9/4.11.1 Package conflict

Katello Upgrade 3.9/4.11.0 → 3.9/4.11.1 Package conflict

Hello,
I followed instructions on Upgrading Foreman to 3.9 for my monthly path cycle.

I ran

foreman-rake katello:upgrade_check
This script makes no modifications and can be re-run multiple times for the most up to date results.
Checking upgradeability...

Checking for running tasks...
[SUCCESS] - There are 0 active tasks.
         You may proceed with the upgrade.


dnf update https://yum.theforeman.org/releases/3.9/el8/x86_64/foreman-release.rpm \
https://yum.theforeman.org/katello/4.11/katello/el8/x86_64/katello-repos-latest.rpm

katello-repos-4.11.1-1.el8.noarch got upgraded from katello-repos-4.11.0-1.el8.noarch; the foreman package was already installed from the previous upgrade.

Now I executed dnf update and got this errors:

Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

Last metadata expiration check: 0:36:59 ago on Fri 22 Mar 2024 11:02:05 AM CET.
Error:
 Problem 1: package tomcatjss-7.7.1-1.module_el8.6.0+1038+e795ee4b.noarch from @System requires pki-servlet-engine >= 1:9.0.7, but none of the providers can be installed
  - package pki-servlet-engine-1:9.0.30-3.module_el8.5.0+854+e1c92b81.noarch from @System requires pki-servlet-4.0-api = 1:9.0.30-3.module_el8.5.0+854+e1c92b81, but none of the providers can be installed
  - package pki-servlet-engine-1:9.0.30-3.module_el8.5.0+854+e1c92b81.noarch from appstream requires pki-servlet-4.0-api = 1:9.0.30-3.module_el8.5.0+854+e1c92b81, but none of the providers can be installed
  - package pki-servlet-engine-1:9.0.30-1.module_el8.4.0+595+e59c9af2.noarch from appstream requires pki-servlet-4.0-api = 1:9.0.30-1.module_el8.4.0+595+e59c9af2, but none of the providers can be installed
  - package tomcat-servlet-4.0-api-1:9.0.62-30.el8.noarch from appstream obsoletes pki-servlet-4.0-api <= 1:9.0.50 provided by pki-servlet-4.0-api-1:9.0.30-3.module_el8.5.0+854+e1c92b81.noarch from @System
  - package tomcat-servlet-4.0-api-1:9.0.62-30.el8.noarch from appstream obsoletes pki-servlet-4.0-api <= 1:9.0.50 provided by pki-servlet-4.0-api-1:9.0.30-1.module_el8.4.0+595+e59c9af2.noarch from appstream
  - package tomcat-servlet-4.0-api-1:9.0.62-30.el8.noarch from appstream obsoletes pki-servlet-4.0-api <= 1:9.0.50 provided by pki-servlet-4.0-api-1:9.0.30-3.module_el8.5.0+854+e1c92b81.noarch from appstream
  - cannot install the best update candidate for package tomcatjss-7.7.1-1.module_el8.6.0+1038+e795ee4b.noarch
  - cannot install the best update candidate for package pki-servlet-4.0-api-1:9.0.30-3.module_el8.5.0+854+e1c92b81.noarch
 Problem 2: 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-30.el8.noarch from appstream and tomcat-lib-1:9.0.62-30.el8.noarch from appstream obsolete pki-servlet-engine <= 1:9.0.50
  - package tomcat-1:9.0.62-30.el8.noarch from appstream requires tomcat-lib = 1:9.0.62-30.el8, but none of the providers can be installed
  - package tomcat-jsp-2.3-api-1:9.0.62-30.el8.noarch from appstream requires tomcat-servlet-4.0-api = 1:9.0.62-30.el8, but none of the providers can be installed
  - package tomcat-lib-1:9.0.62-30.el8.noarch from appstream requires tomcat-servlet-4.0-api = 1:9.0.62-30.el8, but none of the providers can be installed
  - package candlepin-4.3.12-1.el8.noarch from @System requires pki-servlet-engine, but none of the providers can be installed
  - package pki-servlet-engine-1:9.0.30-3.module_el8.5.0+854+e1c92b81.noarch from @System requires pki-servlet-4.0-api = 1:9.0.30-3.module_el8.5.0+854+e1c92b81, but none of the providers can be installed
  - package pki-servlet-engine-1:9.0.30-3.module_el8.5.0+854+e1c92b81.noarch from appstream requires pki-servlet-4.0-api = 1:9.0.30-3.module_el8.5.0+854+e1c92b81, but none of the providers can be installed
  - package pki-servlet-engine-1:9.0.30-1.module_el8.4.0+595+e59c9af2.noarch from appstream requires pki-servlet-4.0-api = 1:9.0.30-1.module_el8.4.0+595+e59c9af2, but none of the providers can be installed
  - package tomcat-servlet-4.0-api-1:9.0.62-30.el8.noarch from appstream obsoletes pki-servlet-4.0-api <= 1:9.0.50 provided by pki-servlet-4.0-api-1:9.0.30-3.module_el8.5.0+854+e1c92b81.noarch from @System
  - package tomcat-servlet-4.0-api-1:9.0.62-30.el8.noarch from appstream obsoletes pki-servlet-4.0-api <= 1:9.0.50 provided by pki-servlet-4.0-api-1:9.0.30-1.module_el8.4.0+595+e59c9af2.noarch from appstream
  - package tomcat-servlet-4.0-api-1:9.0.62-30.el8.noarch from appstream obsoletes pki-servlet-4.0-api <= 1:9.0.50 provided by pki-servlet-4.0-api-1:9.0.30-3.module_el8.5.0+854+e1c92b81.noarch from appstream
  - cannot install the best update candidate for package candlepin-4.3.12-1.el8.noarch
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Would you please be so kind to help?

Thanks in advance
Artur

Hey there,
a very important info could be the distro you are using, because I remember a few more threads where the tomcat version in the CentOS Stream repos was the issue :thinking:

Hello, I’m on CentOS Stream 8

Hmm, not exactly sure what lead to the solution the last time, but that was the latest thread:

Unfortunately, the steps outlined in @lumarel’s reply did not work

And this problem has raised its ugly head again for me while attempting to upgrade. :frowning:

Does Eric’s proposed workaround work for you?

Unfortunately, Eric’s workaround did not work for me.
After adding module_hotfixes=1 to /etc/yum.repos.d/CentOS-Stream-AppStream.repo:

dnf update tomcat
CentOS Stream 8 - AppStream                                                              46 kB/s | 4.4 kB     00:00
Error:
 Problem: problem with installed package candlepin-4.3.12-1.el8.noarch
  - package candlepin-4.3.12-1.el8.noarch from @System requires pki-servlet-engine, but none of the providers can be installed
  - package candlepin-4.3.12-1.el8.noarch from candlepin requires pki-servlet-engine, but none of the providers can be installed
  - package tomcat-1:9.0.62-30.el8.noarch from appstream obsoletes 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 @System
  - package tomcat-1:9.0.62-30.el8.noarch from appstream obsoletes 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-30.el8.noarch from appstream obsoletes 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 pki-servlet-engine-1:9.0.30-3.module_el8.5.0+854+e1c92b81.noarch

So, basically, the proposed workaround did not work in my case.
As a side note: I updated the system on 2024-02-22 successfully. The latest Foreman/Katello Upgrade to 3.9/4.11.0 happened on 2024-01-11.

@packaging any ideas?

Yes, Tomcat in Stream is still broken.

Can you try adding excludepkgs=tomcat,tomcat-lib,tomcat-jsp-2.3-api,tomcat-servlet-4.0-api,tomcat-el-3.0-api to /etc/dnf.conf and re-try the upgrade?

@evgeni : after applying your proposed workaround the upgrade succeeded.

What happens with the exclusions?

What do you mean? DNF just pretends those packages are not in the repos, and thus doesn’t consider them during upgrades. Whenever the Tomcat packages are fixed (I know people are working on that), you should be able to remove the excludes and upgrade to “tomcat” instead of “pki-servlet-engine”.

Ok.

I will do the next upgrade in ~4 weeks. I will report, whether the issue with the excluded packages will have been resolved upstream then.

1 Like

FWIW, it seems Tomcat is now fixed in CentOS Stream 8. I could upgrade it fine without any excludes.

Works for me now too, thanks Evgeni :slightly_smiling_face: