Could not find a suitable provider for foreman_smartproxy

I am trying to upgrade from foreman-1.17.4-1.el7 to foreman-1.18.3-1.el7

And I get this ERROR:

[ERROR 2018-12-21T19:16:36 verbose] Could not find a suitable provider for foreman_smartproxy

I have looked and it looks like this is kind of a generic error that has been going on for years, but I am not finding a good answer. I don’t know if it makes sense to add this question on the end of an old 2013 problem?

The strange thing was that I have been going from 1.14.3 and I made it to 1.19 without the problem and now I can’t make it as far as I did. I am trying to get to 1.20.1. I think it must be some subtle problem.

People have ask which version of ruby are you running?

# ruby -v
ruby 2.0.0p648 (2015-12-16) [x86_64-linux]

puppet isn’t in my path and we don’t really use puppet other than what Foreman needs.

# rpm -qa|grep puppet

# /opt/puppetlabs/bin/puppet --version

# rpm -qa|grep release

Instead of Success! I am getting:

Something went wrong! Check the log for ERROR-level output.
* Foreman is running at
  Initial credentials are admin / password
* Foreman Proxy is running at

This is just a single server, all in one. It seems fine, other than the error message.
I haven’t tried to provision anything with it.

I would appreciate any suggestions on what I should look at.


I decided since it seems to be working to upgrade to foreman-1.19.1-1.el7 and then to foreman-1.20.1-1.el7. The web page seems fine, I just don’t get a Success! from the foreman-installer.

How would I validate my foreman_smartproxy? It would be the same system.

Thanks in advance!

I did look at the Smart Proxies in the GUI and the logs show a couple of WARN messages:
Failed to initialize puppet class cache, deferring initialization. Is puppetserver running?
TCPServer Error: Address already in use - bind(2)


I tried the command:
/opt/puppetlabs/bin/puppet agent --test
And it was failing and also:
systemctl status -l foreman-proxy
had a few errors:
I was missing the puppetserver and files in the /etc/puppetlabs/puppet directory.
puppet.conf was there but not correct.
I copied them over from another server and changed the server name in them and things look better.
But it still didn’t fix the foreman_smartproxy message.
I am not sure why they were missing in the first place?
So I am probably missing other things as well.


Did you upgrade puppet as well by any chance? Upgrading from Puppet 4 to 5 - Foreman has some additional instructions.

I ended up doing a backup:
foreman-rake db:dump
and then I made a snapshot and then I removed all of the foreman and puppet and epel and other non-os code from the server and did a clean install of Foreman 1.20.1 and then I restored the backup.
It complained about a few things but it seems to be working.
I still need to test and see if everything works, but at least the foreman-installer is happy now.

Thanks I did try and do that, it made things better, but didn’t solve my problem.