Project

General

Profile

PuppetThreeWorkarounds » History » Revision 11

Revision 10 (Dominic Cleal, 12/05/2012 11:54 AM) → Revision 11/19 (Dominic Cleal, 12/05/2012 01:25 PM)

h1. PuppetThreeWorkarounds 

 {{toc}} 

 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. 

 h2. 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. 

 h2. 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) 
 * cannot import classes, "Attempting to initialize global default settings more than once!" (#1915, #1950) 
 * proxy @:puppet_conf@ setting required (#1983) 
 * @:puppetconfdir@ setting required (#1994) 
 * @$vardir@ interpolation problems (#1994) 

 h2. Remaining issues 

 h3. 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":http://projects.puppetlabs.com/issues/17371. 

 h3. #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' 

 h3. #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). 

 h3. #1997: facts not importing (unconfirmed) 

 Issue #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: ... 

 h1. 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.