Proxy sync's still fail after upgrading to 3.17

Problem: Proxy sync’s fail with version 3.16 and 3.17

Expected outcome: Proxy sync’s need to complete successfully

Foreman and Proxy versions: 3.17.0

Foreman and Proxy plugin versions:

 Foreman - 

Content  Version 3.4.0
 Supported Content Types
   ansible_collection
   deb
   docker
   file
   python
   yum
 PROXY - 
 Container_Gateway Version 3.4.2
 Dynflow Version 0.9.4
 Content Version 3.4.0
 Supported Content Types
     ansible_collection
     deb
     docker
     file
     python
     yum
  Registration Version 3.17.0
  Script Version 0.11.7
 Templates Version 3.17.0

Distribution and version: 3.17.0

Other relevant data:

After completing the upgrade to 3.17 on the Foreman and Proxy servers, we are getting the following errors during every attempt to sync the proxy…

In the Foreman UI:
Last sync failed: ERF12-2051 [ProxyAPI::ProxyException]: Unable to refresh host-repository mapping ([RestClient::InternalServerError]: 500 Internal Server Error) for proxy https://vm0dnfomadw6001.corp.chartercom.com:9090/container_gateway/host_repository_mapping

In the /var/log/foreman-proxy/proxy.log file:

      2026-02-25T11:58:13 bd73d959 [I] Started PUT /container_gateway/host_repository_mapping/
2026-02-25T11:58:13 bd73d959 [W] Error processing request 'bd73d959-3e11-4dfd-acc3-629b159814ff: <NoMethodError>: undefined method `filter_map' for nil:NilClass
/usr/share/gems/gems/smart_proxy_container_gateway-3.4.2/lib/smart_proxy_container_gateway/container_gateway_main.rb:209:in `block in build_host_repository_mapping'
/usr/share/gems/gems/smart_proxy_container_gateway-3.4.2/lib/smart_proxy_container_gateway/container_gateway_main.rb:208:in `each'
/usr/share/gems/gems/smart_proxy_container_gateway-3.4.2/lib/smart_proxy_container_gateway/container_gateway_main.rb:208:in `flat_map'
/usr/share/gems/gems/smart_proxy_container_gateway-3.4.2/lib/smart_proxy_container_gateway/container_gateway_main.rb:208:in `build_host_repository_mapping'
/usr/share/gems/gems/smart_proxy_container_gateway-3.4.2/lib/smart_proxy_container_gateway/container_gateway_main.rb:193:in `update_host_repo_mapping'
/usr/share/gems/gems/smart_proxy_container_gateway-3.4.2/lib/smart_proxy_container_gateway/container_gateway_api.rb:273:in `block in <class:Api>'

So from my understanding, Foreman 3.16 has an issue (NotNullConstraintViolation) with the 3.4.1 version of container_gateway.  Foreman 3.17 has a different issue (<NoMethodError>: undefined method `filter_map') with the 3.4.2 version of container_gateway.

Need help getting my Proxy sync's working again, please.

Thanks in advance for your support!
1 Like

Hello @erlaprad ,

I believe this should be fixed by Bug #38862: Smart proxy sync fails to update hosts table - Katello - Foreman. I am requesting that we release Katello 4.19.1 with the fix soon.

If you are willing to try a patch in your environment as a hot fix, https://patch-diff.githubusercontent.com/raw/Katello/katello/pull/11569.patch should apply cleanly to a Katello 4.19.1 install. I just tested cherry-picking the commit to the Katello 4.19 branch and it applied with no issues.

If you go the patch route, I might just recommend taking a snapshot/backup to be safe. We can also provide instructions for the patch application if necessary.


If my diagnosis is correct, the root cause of this issue is that some hosts end up with empty UUID data fields when they are re-registered. We currently use the “content facet UUID” instead of the “subscription facet UUID”, but the subscription facet UUID is considered the real source of truth for a host’s registration identity. Hence some nil values make it into the map, which causes the error you saw. The redmine / patch I posted above solve that issue.

Thank you @iballou !!! I certainly appreciate your assistance and clarification. So my current issue (: undefined method `filter_map’) from container_gateway 3.4.2 is actually due to katello 4.19? And upgrading katello to 4.19.1 will resolve the container_gateway error which will ultimately allow proxy sync’s to complete?
I may just wait until katello 4.19.1 is officially released. At that point I should be able to simply “dnf update katello” on my foreman and proxy servers, correct?

1 Like

Hey @erlaprad , apologies for the wait.

The origin of the problem is Katello, yeah. It passed along bad data to the container gateway.

It should, yes, because the next container gateway sync on Katello 4.19.1 would include non-nil data that the container gateway can work with.

You’ll only need to do it on the Foreman server. You can follow the update steps here: Updating Foreman

1 Like

Thanks again, @iballou , for your support and clarification. I’m keeping a close eye on this page: Katello 4.19.1 Release Process . Looking forward to Katello 4.19.1.

We upgraded our Foreman from 3.17.0 to 3.17.1 which also upgraded Katello from 4.19.0 to 4.19.1 and the original sync error was resolved. However, we now get the following errors during sync’s and when publishing a new versions of our RHEL content view (possibly others but I we haven’t tested any other CV’s yet): “package_signing_fingerprint cannot be nil”

This problem is possibly worse than the original sync problem. The original issue just kept me from syncing my proxies, but at least my Foreman server was able to sync content and publish new CV’s. Now I can’t even sync on my main Foreman server or publish any new CV’s. Has anyone resolved this issue yet?

To close the thread loops out, the package signing fingerprint issue is resolved via Katello 4.19.2 → Sync's fail with version 3.16.2 - #3 by erlaprad

1 Like