Fail to sync smartproxy with Foreman 2.5 and Katello 4.1.0

Hello,

I’ve installed a fresh version of Foreman 2.5 with katello 4.1 on a main server, everythings is okay for this part, but I’ve deployed a new smartproxie and
When I tried to synchronize the main with the smartproxie I’ve this error :

ERF12-9562 [ProxyAPI::ProxyException]: Unable to update the repository list ([RestClient::InternalServerError]: 500 Internal Server Error)
for proxy https://smartproxie.my.domain:9090/container_gateway/repository_listERF12-9562 [ProxyAPI::ProxyException]: Unable to update the repository list
([RestClient::InternalServerError]: 500 Internal Server Error) for proxy https://smartproxie.my.domain:9090/container_gateway/repository_list

It’s the same thing if I launch a complete or optimal sync. I’ve seen on smartproxie that the service qpid doesn’t work correctly and I’ve no data send on port 5646 and 5647.
I think the trouble come from this, but I’ve tried a lot of things bu nothing works.

Foreman and Proxy versions:
Foreman MAIN

[root@rtssgpumitfor01 ~]# rpm -qa --qf ‘%{VERSION}\t%{RELEASE}\t%{NAME}\n’ centos-release {foreman,katello}* | sort | grep -v ca-consumer
1.0 1 katello-default-ca
1.0 1 katello-server-ca
1.7.6 1.el7 katello-client-bootstrap
2.5.0 1.el7 foreman
2.5.0 1.el7 foreman-cli
2.5.0 1.el7 foreman-debug
2.5.0 1.el7 foreman-dynflow-sidekiq
2.5.0 1.el7 foreman-installer
2.5.0 1.el7 foreman-installer-katello
2.5.0 1.el7 foreman-postgresql
2.5.0 1.el7 foreman-proxy
2.5.0 1.el7 foreman-release
2.5.0 1.el7 foreman-selinux
2.5.0 1.el7 foreman-service
2.7.3 1.el7 katello-certs-tools
4.0.0 1.el7 katello-selinux
4.1.0 0.3.rc2.el7 katello-repos
4.1.0 0.6.rc2.el7 katello
4.1.0 0.6.rc2.el7 katello-common
4.1.0 0.6.rc2.el7 katello-debug
7 9.2009.1.el7.centos centos-release

SMartProxy 1

rpm -qa --qf ‘%{VERSION}\t%{RELEASE}\t%{NAME}\n’ centos-release {foreman,katello}* | sort | grep -v ca-consumer
1.0 1 katello-default-ca
1.0 1 katello-server-ca
1.7.6 1.el7 katello-client-bootstrap
2.5.0 1.el7 foreman-debug
2.5.0 1.el7 foreman-installer
2.5.0 1.el7 foreman-installer-katello
2.5.0 1.el7 foreman-proxy
2.5.0 1.el7 foreman-selinux
2.7.3 1.el7 katello-certs-tools
3.5.5 1.el7 katello-agent
3.5.5 1.el7 katello-host-tools
3.5.5 1.el7 katello-host-tools-fact-plugin
3.5.5 1.el7 katello-host-tools-tracer
4.0.0 1.el7 katello-selinux
4.0.1 1.el7 foreman-proxy-content
4.0.1 1.el7 katello-common
4.0.1 1.el7 katello-debug
7 9.2009.1.el7.centos centos-release

Foreman and Proxy plugin versions:

Name Description Author Version
foreman-tasks The goal of this plugin is to unify the way of showing task statuses across the Foreman instance. It defines Task model for keeping the information about the tasks and Lock for assigning the tasks to resources. The locking allows dealing with preventing multiple colliding tasks to be run on the same resource. It also optionally provides Dynflow infrastructure for using it for managing the tasks. Ivan Nečas 4.1.1
foreman_remote_execution A plugin bringing remote execution to the Foreman, completing the config management functionality with remote management functionality. Foreman Remote Execution team 4.5.0
katello Katello adds Content and Subscription Management to Foreman. For this it relies on Candlepin and Pulp. N/A 4.1.0.rc2.1

Distribution and version:
CentOS 7.9

Thanks a lot for your help.

Hello,

thanks for detailed report. I’m not an expert on this area but given the 500 internal error I’m sure we’ll need more logs. Could you please upload /var/log/foreman-proxy/proxy.log from the external smart proxy from when you try that sync? We may also need more logs afterwards, probably pulp logs could help too. Hopefully someone from @katello group more familiar with the container content could help afterwards.

This smells a lot like Bug #32745: Capsule sync fails with ISE (500) during container gateway repository list update - Katello - Foreman
Which will be fixed in the next Katello RC.

In the meantime you can grab the container_gateway RPM from nightly and test that :wink:

1 Like

If it is the same error as @evgeni mentioned, another workaround is to create a container repository (it doesn’t matter what it contains). The error occurs when there are no container repositories during a capsule sync.

3 Likes