PuppetThreeWorkarounds » History » Revision 8
« Previous |
Revision 8/19
(diff)
| Next »
Dominic Cleal, 12/05/2012 03:19 AM
more problems
PuppetThreeWorkarounds¶
- Table of contents
- PuppetThreeWorkarounds
- Conclusions
This page details the various fixes for making Foreman work with Puppet 3. If your issue is not listed, please open a bug report on the issue tracker, and detail appropriate workarounds (with link to the bug number) here.
Status¶
Currently Foreman 1.1 (unreleased) works fairly reliably with Puppet 3. This is available either from the nightly .deb packages or from git (develop branch), with updates to both the Foreman UI and the Smart Proxy. Nightly RPMs aren't up to date enough at the moment.
Fixed issues¶
The develop branch contains fixes for the following issues:
- uninitialized constant HostObserver (#1872)
- could not find value for $confdir (Puppet::Settings::InterpolationError) (#1915)
- report processing seems to work but the summaries are all zero (#1872)
- cannot view certificates that are present on the proxy
- ensure sudo rules allow access to
/usr/bin/puppet
now instead of/usr/sbin/puppetca
(foreman-installer has already been updated)
- ensure sudo rules allow access to
- cannot import classes, "Attempting to initialize global default settings more than once!" (#1915, #1950)
Remaining issues¶
Proxy complains of autosign permissions issues¶
The current version of Puppet ignores the file permissions settings in puppet.conf. In other words, this doesn't work:
[master]
autosign = /etc/puppet/autosign.conf { mode = 664 }
However, for the moment, it's so broken that puppet will not fix the ownership of the file, so you can run this instead:
chown foreman-proxy:puppet /etc/puppet/autosign.conf
Alternatively, you could try moving it to the [main] section of the puppet.conf, which also seems to fix the problem.
Logged with patch as Puppet issue #17371.
#1983: proxy :puppet_conf
setting required¶
In order to initialise Puppet 3, the path to puppet.conf is required in the Smart Proxy's config file, typically /etc/foreman-proxy/settings.yml
:
:puppet_conf: /etc/puppet/puppet.conf
The following error will be seen otherwise:
ERROR -- : Failed to show puppet environment: Error converting value for param 'config': Could not find value for $confdir
#1994: :puppetconfdir
setting required¶
The :puppetconfdir
setting was removed from the default settings.yaml, but it's still required. Add back the following line:
:puppetconfdir: /etc/puppet/puppet.conf
This is causing the following error:
Error parsing arguments
/home/bretw/src/foreman/vendor/ruby/1.8/gems/puppet-3.0.1/lib/puppet/util/command_line/puppet_option_parser.rb:78:in `parse'
/home/bretw/src/foreman/vendor/ruby/1.8/gems/puppet-3.0.1/lib/puppet/settings.rb:183:in `parse_global_options'
/home/bretw/src/foreman/vendor/ruby/1.8/gems/puppet-3.0.1/lib/puppet/settings.rb:146:in `initialize_global_settings'
/home/bretw/src/foreman/lib/foreman/default_settings/loader.rb:27:in `load'
#1994: $vardir
interpolation problems¶
Puppet may throw an error indicating $vardir couldn't be resolved, e.g.
Puppet::Settings::InterpolationError: Error converting value for param 'hostcert': Error converting value for param 'certdir': Error converting value for param 'ssldir': Could not find value for $vardir
Ensure :puppetconfdir is pointing to a file such as puppet.conf rather than the directory (yes, this is wrong).
#1997: facts not importing (unconfirmed)¶
#1997 reports MySQL errors while importing facts, e.g.
Started POST "/fact_values/create" for xxxxxxxx at Wed Dec 05 16:01:05 +0800 2012
Processing by FactValuesController#create as
Parameters: {"facts"=>"[FILTERED]"}
Failed to import facts: Mysql2::Error: Column 'name' cannot be null: ...
Conclusions¶
There may well be other problems too. Let us know on the bug tracker, IRC, or the dev mailing list if you find any.
Updated by Dominic Cleal about 12 years ago · 19 revisions