Hello senetm,
Thank you for sharing error details.
If I am correct then this error is associated with a 500 Internal Server Error on the Smart Proxy side, specifically when trying to refresh host-repository mappings or updating host records.
The error ERF12-0457 usually indicates that the Foreman server is unable to update host information on the Smart Proxy (often returning a 500 Internal Server Error).
Could you check the following and share?
Smart Proxy Logs: Check the logs on the affected Smart Proxy at /var/log/foreman-proxy/proxy.log right after a failed update or sync.
Service Status: Run foreman-maintain service status on both the main server and the Smart Proxy to ensure all pulpcore and katello services are running correctly.
Certificates: Ensure there arenât any expired certificates by running foreman-maintain health check --all on the main server
500 could be also out of space (RAM or storage) or anything, logs would help here.
When i sync my smart proxies âŚ
Hmm, more proxies - do all of them fail, or only one particular? Optimized sync or Complete sync? Immediate or on_demand download policy on the failing one(s)?
What is the version of smart_proxy_container_gateway on your smart proxy? We have pushed a fix for this in version: 3.4.2 and Katello 4.20.
A host not having a UUID would mean it is unregistered but not deleted.There is a setting that controls that called âDelete Host upon unregisterâ which by default is no, which leaves these host records with UUIDs cleaned out in the system which are reused if the system re-registers.
We have been fighting this exact same issue for weeks. We also have rubygem-smart_proxy_container_gateway-3.4.1-1.fm3_16.el9.noarch installed on our proxy server.
What exactly needs to be done to resolve the proxy sync issue?
How do we upgrade the container gateway package to 3.4.2 and Katello to 4.20?
Are the upgraded packages required only on the proxy server(s)?
@senetm It looks like youâve identified a data inconsistency where hosts were missing UUIDs, which the container_gateway on the Smart Proxy requires. your foreman-rake console snippet is the correct way to backfill those missing IDs.
Which version of Foreman/Katello are you running?
Assuming you are running Foreman 3.18 / Katello 4.20, I would highly suggest upgrading your environment to the latest stable release (Foreman 3.18 / Katello 4.20).
To ensure a successful transition, please make sure these things:
Sequential Path: Katello requires a sequential upgrade path. Ensure you are moving from 4.18 â 4.19 â 4.20 without skipping versions.
Version Parity: It is critical that your Main Foreman Server and all Smart Proxies stay on the same major/minor version (e.g., all on 3.18.x). Mismatched versions are a frequent cause of API communication failures.
The Upgrade Process:
Sync the new 3.18 repositories.
Run foreman-maintain upgrade run --target-version 3.18 on the main server.
Once the main server is updated, repeat the process for your Smart Proxies.
Pre-check: Before starting, run foreman-rake katello:upgrade_check to identify any paused tasks or stalled syncs that might block the installer.
Keeping everything on 3.18.x should resolve the database constraint issues weâve seen in earlier versions.
@vijaysawant Will there be fixes for the âproxy failing to syncâ (aka the null value being inserted into the uuid field) issue implemented into Foreman versions 3.16 and 3.17? Or is the only path forward to move to 3.18?
Independently, we also have this: Bug #38862: Smart proxy sync fails to update hosts table - Katello - Foreman which also fixes this. This is targeted to 4.18.z but no z streams have been released since we merged this. You donât need this for the issue youâre seeing. You can upgrade to 3.4.2 container_gateway with foreman 3.17 and you should be good.
@sajha We successfully upgraded our development Foreman server and proxy to 3.17 yesterday (which included container_gateway 3.4.2) and it appears the uuid null problem has been resolved. However, we are now seeing the following errors in the proxy.log when attempting to sync our proxy server:
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: : 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â
Could someone please point me to the section of the release notes for 4.16 showing where this null field issue relates to? We upgraded not so long ago and saw nothing about it