Upgrade Katello 3.14 to 3.15 rpm dependency nightmare

Problem: Impossible to “yum upgrade” to Katello 3.15 and Foreman 2.0 from Katello 3.14 / Foreman 1.24.3

Error: Package: tfm-rubygem-logging-2.2.2-5.el7sat.noarch (@HVS_Foreman_Client_foreman_client_1_24_rhel7_x86_64)
Requires: tfm-ror52-rubygem(multi_json) >= 1.10
Removing: tfm-ror52-rubygem-multi_json-1.13.1-1.el7sat.noarch (@HVS_Foreman_Client_foreman_client_1_24_rhel7_x86_64)
tfm-ror52-rubygem(multi_json) = 1.13.1
Obsoleted By: tfm-rubygem-multi_json-1.14.1-1.el7.noarch (foreman)
Not found
Error: Package: tfm-rubygem-logging-2.2.2-5.el7sat.noarch (@HVS_Foreman_Client_foreman_client_1_24_rhel7_x86_64)
Requires: tfm-ror52-rubygem(multi_json) < 2
Removing: tfm-ror52-rubygem-multi_json-1.13.1-1.el7sat.noarch (@HVS_Foreman_Client_foreman_client_1_24_rhel7_x86_64)
tfm-ror52-rubygem(multi_json) = 1.13.1
Obsoleted By: tfm-rubygem-multi_json-1.14.1-1.el7.noarch (foreman)
Not found

I’ve tried “yum update --skip-broken”, but can’t go any further.

Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:

     1. You have an upgrade for tfm-runtime which is missing some
        dependency that another package requires. Yum is trying to
        solve this by installing an older version of tfm-runtime of the
        different architecture. If you exclude the bad architecture
        yum will tell you what the root cause is (which package
        requires what). You can try redoing the upgrade with
        --exclude tfm-runtime.otherarch ... this should give you an error
        message showing the root cause of the problem.
   
     2. You have multiple architectures of tfm-runtime installed, but
        yum can only see an upgrade for one of those architectures.
        If you don't want/need both architectures anymore then you
        can remove the one with the missing update and everything
        will work.
   
     3. You have duplicate versions of tfm-runtime installed already.
        You can use "yum check" to get yum show these errors.
   
   ...you can also use --setopt=protected_multilib=false to remove
   this checking, however this is almost never the correct thing to
   do as something else is very likely to go wrong (often causing
   much more problems).
   
   Protected multilib versions: tfm-runtime-6.0-4.el7.x86_64 != tfm-runtime-5.0-9.el7.x86_64

Expected outcome: yum update should be possible

Foreman and Proxy versions: 1.24.3

Foreman and Proxy plugin versions: 1.24.3

Distribution and version: CentOS 7.8.2003

Other relevant data:
Packages skipped because of dependency problems:
candlepin-3.1.7-1.el7.noarch from katello-candlepin
candlepin-selinux-3.1.7-1.el7.noarch from katello-candlepin
cyrus-sasl-gssapi-2.1.26-23.el7.x86_64 from HVS_CentOS_7_CentOS7_os_x86_64
foreman-2.0.2-1.el7.noarch from foreman
foreman-2.0.3-1.el7.noarch from foreman
foreman-debug-2.0.3-1.el7.noarch from foreman
1:foreman-installer-2.0.3-1.el7.noarch from foreman
1:foreman-installer-katello-2.0.3-1.el7.noarch from foreman
foreman-postgresql-2.0.3-1.el7.noarch from foreman
foreman-proxy-2.0.3-1.el7.noarch from foreman
foreman-selinux-2.0.3-1.el7.noarch from foreman
foreman-vmware-2.0.3-1.el7.noarch from foreman
katello-3.15.3-1.el7.noarch from katello
katello-common-3.15.3-1.el7.noarch from katello
katello-debug-3.15.3-1.el7.noarch from katello
libvirt-libs-4.5.0-33.el7_8.1.x86_64 from HVS_CentOS_7_CentOS7_updates_x86_64
1:rubygem-foreman_maintain-0.6.5-1.el7.noarch from foreman
rubygem-kafo-4.0.1-1.el7.noarch from foreman
rubygem-logging-2.2.2-4.el7.noarch from foreman
rubygem-multi_json-1.12.2-5.el7.noarch from foreman
tfm-rubygem-actioncable-5.2.1-3.el7.noarch from foreman
tfm-rubygem-actionmailer-5.2.1-3.el7.noarch from foreman
tfm-rubygem-actionpack-5.2.1-3.el7.noarch from foreman
tfm-rubygem-actionview-5.2.1-3.el7.noarch from foreman
tfm-rubygem-activejob-5.2.1-3.el7.noarch from foreman
tfm-rubygem-activemodel-5.2.1-3.el7.noarch from foreman
tfm-rubygem-activerecord-5.2.1-3.el7.noarch from foreman
tfm-rubygem-activerecord-import-1.0.0-2.el7.noarch from katello
tfm-rubygem-activerecord-session_store-1.1.1-3.el7.noarch from foreman
tfm-rubygem-activestorage-5.2.1-3.el7.noarch from foreman
tfm-rubygem-activesupport-5.2.1-3.el7.noarch from foreman
tfm-rubygem-ancestry-3.0.0-4.el7.noarch from foreman
tfm-rubygem-anemone-0.7.2-17.el7.noarch from katello
1:tfm-rubygem-angular-rails-templates-1.0.2-5.el7.noarch from foreman_plugins
tfm-rubygem-apipie-rails-0.5.17-2.el7.noarch from foreman
tfm-rubygem-arel-9.0.0-3.el7.noarch from foreman
tfm-rubygem-audited-4.9.0-2.el7.noarch from foreman
tfm-rubygem-awesome_print-1.8.0-4.el7.noarch from foreman
tfm-rubygem-builder-3.2.3-3.el7.noarch from foreman
tfm-rubygem-bundler_ext-0.4.1-4.el7.noarch from foreman
tfm-rubygem-coffee-rails-4.2.2-5.el7.noarch from foreman
tfm-rubygem-coffee-script-2.4.1-3.el7.noarch from foreman
tfm-rubygem-coffee-script-source-1.12.2-3.el7.noarch from foreman
1:tfm-rubygem-concurrent-ruby-1.1.4-4.el7.noarch from foreman
1:tfm-rubygem-concurrent-ruby-1.1.6-1.el7.noarch from foreman
1:tfm-rubygem-concurrent-ruby-edge-0.6.0-1.fm2_0.el7.noarch from foreman
tfm-rubygem-crass-1.0.4-3.el7.noarch from foreman
tfm-rubygem-deep_cloneable-3.0.0-2.el7.noarch from foreman
tfm-rubygem-deface-1.5.3-2.el7.noarch from foreman_plugins
tfm-rubygem-dynflow-1.4.6-1.fm2_0.el7.noarch from foreman
tfm-rubygem-erubi-1.7.1-3.el7.noarch from foreman
tfm-rubygem-excon-0.58.0-4.el7.noarch from foreman
tfm-rubygem-execjs-2.7.0-3.el7.noarch from foreman
tfm-rubygem-ffi-1.11.3-1.el7.x86_64 from foreman
tfm-rubygem-fog-core-2.1.0-2.el7.noarch from foreman
tfm-rubygem-fog-vsphere-3.2.5-1.el7.noarch from foreman
tfm-rubygem-foreman-tasks-1.1.3-1.fm2_0.el7.noarch from foreman_plugins
tfm-rubygem-foreman-tasks-core-0.3.4-1.fm2_0.el7.noarch from foreman_plugins
tfm-rubygem-foreman_remote_execution-3.2.2-1.fm2_0.el7.noarch from foreman_plugins
tfm-rubygem-friendly_id-5.2.4-3.el7.noarch from foreman
tfm-rubygem-globalid-0.4.1-5.el7.noarch from foreman
tfm-rubygem-gssapi-1.2.0-6.el7.noarch from foreman
tfm-rubygem-hammer_cli-2.0.0-1.el7.noarch from foreman
tfm-rubygem-hammer_cli_foreman-2.0.2-1.el7.noarch from foreman
tfm-rubygem-hammer_cli_foreman_tasks-0.0.14-1.fm2_0.el7.noarch from foreman_plugins
tfm-rubygem-hammer_cli_katello-0.21.0-2.el7.noarch from katello
tfm-rubygem-i18n-1.4.0-3.el7.noarch from foreman
tfm-rubygem-katello-3.15.3.1-1.el7.noarch from katello
tfm-rubygem-ldap_fluff-0.4.7-4.el7.noarch from foreman
tfm-rubygem-loofah-2.2.2-4.el7.noarch from foreman
tfm-rubygem-mail-2.7.0-3.el7.noarch from foreman
tfm-rubygem-marcel-0.3.2-3.el7.noarch from foreman
tfm-rubygem-method_source-0.9.0-3.el7.noarch from foreman
tfm-rubygem-mimemagic-0.3.2-3.el7.noarch from foreman
tfm-rubygem-mini_mime-1.0.0-3.el7.noarch from foreman
tfm-rubygem-mini_portile2-2.3.0-3.el7.noarch from foreman
tfm-rubygem-multi_json-1.12.2-5.el7.noarch from foreman
tfm-rubygem-multi_json-1.14.1-1.el7.noarch from foreman
tfm-rubygem-mustermann-1.0.2-3.el7.noarch from foreman
tfm-rubygem-nio4r-2.3.1-3.el7.x86_64 from foreman
tfm-rubygem-nokogiri-1.8.4-6.el7.x86_64 from foreman
tfm-rubygem-parse-cron-0.1.4-4.fm2_0.el7.noarch from foreman_plugins
tfm-rubygem-passenger-4.0.18-10.13.el7.x86_64 from foreman
tfm-rubygem-passenger-native-4.0.18-10.13.el7.x86_64 from foreman
tfm-rubygem-passenger-native-libs-4.0.18-10.13.el7.x86_64 from foreman
tfm-rubygem-pg-1.1.4-1.el7.x86_64 from foreman
1:tfm-rubygem-pulp_2to3_migration_client-0.1.0-1.el7.noarch from katello
tfm-rubygem-pulp_container_client-1.0.0-1.el7.noarch from katello
tfm-rubygem-pulp_file_client-0.1.0-1.el7.noarch from katello
1:tfm-rubygem-pulpcore_client-3.0.0-3.el7.noarch from katello
tfm-rubygem-puppetdb_foreman-5.0.0-2.fm2_0.el7.noarch from foreman_plugins
tfm-rubygem-rabl-0.13.1-3.el7.noarch from foreman
tfm-rubygem-rack-2.0.6-3.el7.noarch from foreman
tfm-rubygem-rack-jsonp-1.3.1-8.el7.noarch from foreman
tfm-rubygem-rack-protection-2.0.3-3.el7.noarch from foreman
tfm-rubygem-rack-test-1.1.0-3.el7.noarch from foreman
tfm-rubygem-rails-5.2.1-3.el7.noarch from foreman
tfm-rubygem-rails-dom-testing-2.0.3-5.el7.noarch from foreman
tfm-rubygem-rails-html-sanitizer-1.0.4-4.el7.noarch from foreman
tfm-rubygem-rails-i18n-5.1.1-3.el7.noarch from foreman
tfm-rubygem-railties-5.2.1-3.el7.noarch from foreman
tfm-rubygem-rake-compiler-1.0.7-2.el7.noarch from foreman
tfm-rubygem-rb-inotify-0.9.7-4.el7.noarch from foreman
tfm-rubygem-rbvmomi-2.2.0-2.el7.noarch from foreman
tfm-rubygem-record_tag_helper-1.0.1-2.el7.noarch from foreman
tfm-rubygem-responders-3.0.0-2.el7.noarch from foreman
tfm-rubygem-rkerberos-0.1.5-16.el7.x86_64 from foreman
tfm-rubygem-roadie-3.4.0-2.el7.noarch from foreman
tfm-rubygem-roadie-rails-2.0.0-2.el7.noarch from foreman
tfm-rubygem-rsec-0.4.3-3.el7.noarch from foreman
tfm-rubygem-ruby-libvirt-0.7.0-3.el7.x86_64 from foreman
tfm-rubygem-rubyipmi-0.10.0-5.el7.noarch from foreman
tfm-rubygem-runcible-2.12.1-2.el7.noarch from katello
tfm-rubygem-scoped_search-4.1.7-2.el7.noarch from foreman
tfm-rubygem-sinatra-2.0.3-3.el7.noarch from foreman
tfm-rubygem-smart_proxy_dynflow-0.2.4-3.fm2_0.el7.noarch from foreman_plugins
tfm-rubygem-smart_proxy_dynflow_core-0.2.4-2.fm2_0.el7.noarch from foreman_plugins
tfm-rubygem-smart_proxy_pulp-2.0.0-2.fm2_0.el7.noarch from foreman_plugins
tfm-rubygem-smart_proxy_remote_execution_ssh-0.3.0-1.fm2_0.el7.noarch from foreman_plugins
tfm-rubygem-sprockets-3.7.2-5.el7.noarch from foreman
tfm-rubygem-sprockets-rails-3.2.1-5.el7.noarch from foreman
tfm-rubygem-sqlite3-1.3.13-4.el7.x86_64 from foreman
tfm-rubygem-thor-0.20.0-7.el7.noarch from foreman
tfm-rubygem-thread_safe-0.3.6-5.el7.noarch from foreman
tfm-rubygem-tilt-2.0.8-3.el7.noarch from foreman
tfm-rubygem-tzinfo-1.2.5-3.el7.noarch from foreman
tfm-rubygem-validates_lengths_from_database-0.5.0-6.el7.noarch from foreman
tfm-rubygem-webpack-rails-0.9.8-4.el7.noarch from foreman
tfm-rubygem-websocket-driver-0.7.0-3.el7.x86_64 from foreman
tfm-rubygem-websocket-extensions-0.1.3-3.el7.noarch from foreman
tfm-rubygem-will_paginate-3.1.7-2.el7.noarch from foreman
tfm-rubygem-x-editable-rails-1.5.5-4.el7.noarch from foreman
tfm-rubygem-xmlrpc-0.3.0-1.el7.noarch from foreman
tfm-runtime-6.1-0.1.el7.x86_64 from foreman
yajl-2.0.4-4.el7.x86_64 from HVS_CentOS_7_CentOS7_os_x86_64
Error: Success - deps resolved

That is a package for RedHat Satellite not Foreman. It seems you are using RedHat repositories…

Hi,

I installed katello-agent from RHEL7 at some point on this CentOS Katello
server.
Now I forced a downgrade from rhel7 packages to el7 packages
(gofer katello-agent katello-host-tools katello-host-tools-fact-plugin
katello-host-tools-tracer python2-beautifulsoup4 python2-isodate
python-gofer python-gofer-proton tfm-rubygem-awesome_print
tfm-rubygem-clamp tfm-rubygem-domain_name tfm-rubygem-fast_gettext
tfm-rubygem-hammer_cli_foreman_docker tfm-rubygem-hammer_cli_foreman_tasks
tfm-rubygem-hashie tfm-rubygem-highline tfm-rubygem-http-cookie
tfm-rubygem-locale tfm-rubygem-oauth tfm-rubygem-powerbar tfm-rubygem-unf
tfm-rubygem-unicode-display_width )

and I was able to upgrade to Katello 3.15

Thank you for the suggestion, I wouldn’t think the agent would bring that
much problems, as the versions are the same, just the “el7sat” added to the
version.

Anyway, thank you …

But if I try to downgrade tfm-rubygem-logging-2.2.2-5.el7sat.noarch
to tfm-rubygem-logging-2.2.2-4.el7, it tries to remove