Support #14011
closedFailed to list puppet environments: Failed to query Puppet find environments API (404): Not Found: Could not find environment 'puppet'
Description
I'm getting the following warning in the foreman log:
2016-03-02T14:58:06 [app] [W] ProxyAPI operation FAILED | ProxyAPI::ProxyException: ERF12-2749 [ProxyAPI::ProxyException]: Unable to get environments from Puppet ([RestClient::NotAcceptable]: 406 Not Acceptable) for proxy http://localhost:8000/puppet ...
The warning pointed me to http://projects.theforeman.org/projects/foreman/wiki/ERF12-2749. The information there suggested to take a look at the smart-proxy log which contains the following:
E, [2016-03-02T14:58:05.945352 #12423] ERROR -- : Failed to list puppet environments: Failed to query Puppet find environments API (404): Not Found: Could not find environment 'puppet'Additional information:
- I installed from git sources using bundler.
- puppet version is 3.8.4
- I noticed during smart-proxy installation that bundler installed puppet version 4.3.2
Updated by Dominic Cleal over 8 years ago
- Tracker changed from Bug to Support
- Project changed from Foreman to Smart Proxy
- Category changed from Smart Proxy to Puppet
- Status changed from New to Feedback
The smart proxy will be expecting a Puppet v4 API on the master, not Puppet 3 if the gem loaded is Puppet 4.
It's best to keep the gem and Puppet version matching, perhaps by specifying a particular version of Puppet in bundler.d/puppet.rb.
If you're installing Puppet from a package then consider using bundle install --without puppet puppetca
to avoid installing gems. It may then load from a shared Ruby installation. I can't recommend trying to use packages and locally installed gems simultaneously though, it's messy.
Updated by Stefan Hölzle over 8 years ago
I changed the puppet version to < 4 in bundler.d/puppet.rb and updated the bundle. It works, thanks !
Updated by Dominic Cleal over 8 years ago
- Status changed from Feedback to Resolved