Project

General

Profile

PuppetThreeWorkarounds » History » Version 10

Dominic Cleal, 12/05/2012 11:54 AM
#1983 resolved

1 1 Greg Sutcliffe
h1. PuppetThreeWorkarounds
2
3
{{toc}}
4
5
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.
6
7 6 Dominic Cleal
h2. Status
8 1 Greg Sutcliffe
9 8 Dominic Cleal
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.
10 1 Greg Sutcliffe
11 6 Dominic Cleal
h2. Fixed issues
12 1 Greg Sutcliffe
13 6 Dominic Cleal
The develop branch contains fixes for the following issues:
14 1 Greg Sutcliffe
15 6 Dominic Cleal
* uninitialized constant HostObserver (#1872)
16 7 Dominic Cleal
* could not find value for $confdir (Puppet::Settings::InterpolationError) (#1915)
17
* report processing seems to work but the summaries are all zero (#1872)
18 6 Dominic Cleal
* cannot view certificates that are present on the proxy
19
** ensure sudo rules allow access to @/usr/bin/puppet@ now instead of @/usr/sbin/puppetca@ (foreman-installer has already been updated)
20 7 Dominic Cleal
* cannot import classes, "Attempting to initialize global default settings more than once!" (#1915, #1950)
21 10 Dominic Cleal
* proxy @:puppet_conf@ setting required (#1983)
22 4 Sam Kottler
23 6 Dominic Cleal
h2. Remaining issues
24 5 Sam Kottler
25 6 Dominic Cleal
h3. Proxy complains of autosign permissions issues
26 1 Greg Sutcliffe
27
The current version of Puppet ignores the file permissions settings in puppet.conf. In other words, this doesn't work:
28
29
    [master]
30
      autosign       = /etc/puppet/autosign.conf { mode = 664 }
31
32
However, for the moment, it's so broken that puppet will not fix the ownership of the file, so you can run this instead:
33
34
    chown foreman-proxy:puppet /etc/puppet/autosign.conf
35
36
Alternatively, you could try moving it to the [main] section of the puppet.conf, which also seems to fix the problem.
37
38
Logged with patch as Puppet "issue #17371":http://projects.puppetlabs.com/issues/17371.
39 8 Dominic Cleal
40
h3. #1994: @:puppetconfdir@ setting required
41
42
The @:puppetconfdir@ setting was removed from the default settings.yaml, but it's still required.  Add back the following line:
43
44
    :puppetconfdir: /etc/puppet/puppet.conf
45
46
This is causing the following error:
47
48
    Error parsing arguments
49
/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'
50
/home/bretw/src/foreman/vendor/ruby/1.8/gems/puppet-3.0.1/lib/puppet/settings.rb:183:in `parse_global_options'
51
/home/bretw/src/foreman/vendor/ruby/1.8/gems/puppet-3.0.1/lib/puppet/settings.rb:146:in `initialize_global_settings'
52
/home/bretw/src/foreman/lib/foreman/default_settings/loader.rb:27:in `load'
53
54
h3. #1994: @$vardir@ interpolation problems
55
56
Puppet may throw an error indicating $vardir couldn't be resolved, e.g.
57
58
   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
59
60
Ensure :puppetconfdir is pointing to a file such as puppet.conf rather than the directory (yes, this is wrong).
61
62
h3. #1997: facts not importing (unconfirmed)
63
64 9 Dominic Cleal
Issue #1997 reports MySQL errors while importing facts, e.g.
65 8 Dominic Cleal
66
    Started POST "/fact_values/create" for xxxxxxxx at Wed Dec 05 16:01:05 +0800 2012
67
Processing by FactValuesController#create as
68
Parameters: {"facts"=>"[FILTERED]"}
69
Failed to import facts: Mysql2::Error: Column 'name' cannot be null: ...
70 1 Greg Sutcliffe
71
h1. Conclusions
72
73
There may well be other problems too. Let us know on the bug tracker, IRC, or the dev mailing list if you find any.