Inconsistency between reported updates in katello and client [Foreman 2.5 / Katello 4]

Problem:

I have issue with brand new clients added to a foreman 2.5 instance, in the gui reports that there are bunch of packages to be installed but they are already installed on the client

Expected outcome:

The report from gui should match the values on the client.

Foreman and Proxy versions:

Foreman 2.5

Foreman and Proxy plugin versions:

  • candlepin-4.0.2-1.el8.noarch
  • candlepin-selinux-4.0.2-1.el8.noarch
  • foreman-2.5.0-1.el8.noarch
  • foreman-cli-2.5.0-1.el8.noarch
  • foreman-debug-2.5.0-1.el8.noarch
  • foreman-dynflow-sidekiq-2.5.0-1.el8.noarch
  • foreman-installer-2.5.0-1.el8.noarch
  • foreman-installer-katello-2.5.0-1.el8.noarch
  • foreman-postgresql-2.5.0-1.el8.noarch
  • foreman-proxy-2.5.0-1.el8.noarch
  • foreman-release-2.5.0-1.el8.noarch
  • foreman-service-2.5.0-1.el8.noarch
  • katello-4.1.0-0.6.rc2.el8.noarch
  • katello-certs-tools-2.7.3-1.el8.noarch
  • katello-client-bootstrap-1.7.6-1.el8.noarch
  • katello-common-4.1.0-0.6.rc2.el8.noarch
  • katello-debug-4.1.0-0.6.rc2.el8.noarch
  • katello-default-ca-1.0-1.noarch
  • katello-repos-4.1.0-0.3.rc2.el8.noarch
  • katello-server-ca-1.0-1.noarch
  • katello.comtec.lan-apache-1.0-1.noarch
  • katello.comtec.lan-foreman-client-1.0-1.noarch
  • katello.comtec.lan-foreman-proxy-1.0-1.noarch
  • katello.comtec.lan-foreman-proxy-client-1.0-1.noarch
  • katello.comtec.lan-puppet-client-1.0-1.noarch
  • pulp-client-1.0-1.noarch
  • python3-pulp-ansible-0.7.3-1.el8.noarch
  • python3-pulp-certguard-1.2.0-1.el8.noarch
  • python3-pulp-container-2.5.3-1.el8.noarch
  • python3-pulp-deb-2.11.2-1.el8.noarch
  • python3-pulp-file-1.6.0-1.el8.noarch
  • python3-pulp-rpm-3.11.0-1.el8.noarch
  • python3-pulpcore-3.11.2-1.el8.noarch
  • qpid-proton-c-0.32.0-3.el8.x86_64
  • rubygem-foreman-tasks-4.1.1-1.fm2_5.el8.noarch
  • rubygem-foreman-tasks-core-0.3.5-1.fm2_5.el8.noarch
  • rubygem-foreman_maintain-0.8.1-1.el8.noarch
  • rubygem-foreman_remote_execution-4.5.0-1.fm2_5.el8.noarch
  • rubygem-foreman_remote_execution_core-1.4.3-1.el8.noarch
  • rubygem-hammer_cli-2.5.0-1.el8.noarch
  • rubygem-hammer_cli_foreman-2.5.0-1.el8.noarch
  • rubygem-hammer_cli_foreman_remote_execution-0.2.1-2.fm2_5.el8.noarch
  • rubygem-hammer_cli_foreman_tasks-0.0.15-2.fm2_5.el8.noarch
  • rubygem-hammer_cli_katello-1.1.1-1.el8.noarch
  • rubygem-katello-4.1.0-0.9.rc2.1.el8.noarch
  • rubygem-pulp_ansible_client-0.7.1-1.el8.noarch
  • rubygem-pulp_certguard_client-1.0.3-2.el8.noarch
  • rubygem-pulp_container_client-2.4.0-1.el8.noarch
  • rubygem-pulp_deb_client-2.11.1-1.el8.noarch
  • rubygem-pulp_file_client-1.6.1-1.el8.noarch
  • rubygem-pulp_rpm_client-3.10.0-1.el8.noarch
  • rubygem-pulpcore_client-3.11.0-1.el8.noarch
  • rubygem-qpid_proton-0.32.0-3.el8.x86_64
  • rubygem-smart_proxy_pulp-3.0.0-1.fm2_5.el8.noarch

Distribution and version:

CentOS 8.4

Other relevant data:

The clients are configured with remote execution and there are no issues there. I can execute commands or install packages without a problem.

Is there a way to force a client to update it’s package list to server?

That’s probably a problem with the applicability and module streams in el8. The upgradable rpms go with a different perl version/module. See Applicable rpms listed from inactive module streams and Bug #32739: Incorrect applicablity in katello 4 - Katello - Foreman

1 Like

I’m not sure if that’s the issue, because the packages installed on the client are the same with those listed in the GUI as available to be installed, same version and all.

rpm -qa | grep perl-Data-Dump-1.23-7.module_el8.3.0
perl-Data-Dump-1.23-7.module_el8.3.0+416+dee7bcef.noarch

It’s easier if you don’t use screenshots as they are hard to compare.

Check closely the upgradable rpms and the installed version:

You have perl-Data-Dump-1.23-7.module_el8.3.0+416+dee7bcef.noarch installed. That’s the version for perl 5.26.

The upgradable rpm listed in the screenshot is
perl-Data-Dump-1.23-7.module_el8.3.0+416+9a1a0b3f.noarch
That’s the version for perl 5.30. It’s not the same version. One ends with dee7bcef one with 9a1a0b3f. It’s different.

You couldn’t even install that upgradable rpm if you wanted to because it would replace the whole perl version.

# dnf module list perl
...
Name                           Stream                            Profiles                                     Summary                                                          
perl                           5.24                              common [d], minimal                          Practical Extraction and Report Language                         
perl                           5.26 [d]                          common [d], minimal                          Practical Extraction and Report Language                         
perl                           5.30                              common [d], minimal                          Practical Extraction and Report Language                         

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

It’s the bug I have mentioned.

2 Likes

Well, clearly you have better eyes than me on this one, thanks, you are right.
I’ll wait for a fix, then.