Proxy has failed to load one or more features (Registration) after upgrade ot 2.3.0

Problem:
After updating from Foreman 2.2.1 and Katello 3.17 to Foreman 2.3.0 and Katello 3.18RC2 foreman-installer shows Error:
2020-12-10 10:56:59 [ERROR ] [configure] Proxy has failed to load one or more features (Registration), check /var/log/foreman-proxy/proxy.log for configuration errors
2020-12-10 10:56:59 [ERROR ] [configure] /Stage[main]/Foreman_proxy::Register/Foreman_smartproxy[]/features: change from [“DHCP”, “HTTPBoot”, “Logs”, “Pulp”, “Pulpcore”, “Puppet”, “Puppet CA”, “TFTP”] to [“DHCP”, “HTTPBoot”, “Logs”, “Pulp”, “Pulpcore”, “Puppet”, “Puppet CA”, “Registration”, “TFTP”] failed: Proxy vm7125.muc.baag has failed to load one or more features (Registration), check /var/log/foreman-proxy/proxy.log for configuration errors

Expected outcome:
Successful run of foreman-installer

Foreman and Proxy versions:
2.3.0
Foreman and Proxy plugin versions:
Katello 3.18RC2
Distribution and version:
CentOS 7
Other relevant data:
/var/log/foreman-installer/katello.log shows the above error
/var/log/foreman-proxy/proxy.log:
2020-12-10T10:56:58 77818e74 [I] Started GET /v2/features
2020-12-10T10:56:58 77818e74 [I] Finished GET /v2/features with 200 (31.32 ms)
2020-12-10T10:56:58 77818e74 [I] Started GET /pulp/status/puppet
2020-12-10T10:56:58 77818e74 [I] Finished GET /pulp/status/puppet with 200 (0.71 ms)
2020-12-10T10:56:58 77818e74 [I] Started GET /v2/features
2020-12-10T10:56:58 77818e74 [I] Finished GET /v2/features with 200 (41.29 ms)
2020-12-10T10:56:58 77818e74 [I] Started GET /v2/features
2020-12-10T10:56:58 77818e74 [I] Finished GET /v2/features with 200 (35.18 ms)

Is that all there is in the proxy.log? perhaps the actual error was rotated to proxy.log.1 or something?

nope. nothing else in the logfile.
i already ran foreman-installer with options “-v -l debug”

that’s quite odd… can you try running systemctl restart foreman-proxy? that should at the very least give you some indication in the log that it’s restarted and starting the various modules

Dec 10 11:50:36 systemd[1]: Stopping Foreman Proxy…
Dec 10 11:50:36 systemd[1]: Stopped Foreman Proxy.
Dec 10 11:50:36 systemd[1]: Starting Foreman Proxy…
Dec 10 11:50:37 systemd[1]: Started Foreman Proxy.
systemctl status foreman-proxy
● foreman-proxy.service - Foreman Proxy
Loaded: loaded (/usr/lib/systemd/system/foreman-proxy.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-12-10 11:50:37 CET; 2min 21s ago
Main PID: 98622 (ruby)
Tasks: 8
CGroup: /system.slice/foreman-proxy.service
└─98622 ruby /usr/share/foreman-proxy/bin/smart-proxy --no-daemonize

no error or warning messages in /var/log/foreman-proxy/proxy.log

This happens as part of the registration during the installer. It checks all the features the Smart Proxy is supposed to have with the features it reports after registration. In this case, it expected to find registration but didn’t find it. Rather than silently ignoring this, it fails on it.

I would check if it does report it: curl https://vm7125.muc.baag:9090/features. If it does, then Foreman has a problem.

Perhaps Foreman was not restarted to load 2.3.0 (which introduced the registration feature)? I’d suggest systemctl restart foreman && foreman-installer. If it then still doesn’t register the feature, I’d check Foreman’s /var/log/foreman/production.log.

For what it’s worth, I’ve had the exact same error message when upgrading from 3.17 to 3.18. Restarting the foreman-proxy service and re-running foreman-installer worked for me.

That’s a good suggestion. That could indicate that there are no changes to the config files and thus Puppet doesn’t restart the service. It can’t detect that the package has updated.

New install of 2.3.5 Restarting the foreman-proxy service and re-running foreman-installer worked for me too.