Project

General

Profile

PuppetThreeWorkarounds » History » Version 8

Dominic Cleal, 12/05/2012 03:19 AM
more problems

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 4 Sam Kottler
22 6 Dominic Cleal
h2. Remaining issues
23 5 Sam Kottler
24 6 Dominic Cleal
h3. Proxy complains of autosign permissions issues
25 1 Greg Sutcliffe
26
The current version of Puppet ignores the file permissions settings in puppet.conf. In other words, this doesn't work:
27
28
    [master]
29
      autosign       = /etc/puppet/autosign.conf { mode = 664 }
30
31
However, for the moment, it's so broken that puppet will not fix the ownership of the file, so you can run this instead:
32
33
    chown foreman-proxy:puppet /etc/puppet/autosign.conf
34
35
Alternatively, you could try moving it to the [main] section of the puppet.conf, which also seems to fix the problem.
36
37
Logged with patch as Puppet "issue #17371":http://projects.puppetlabs.com/issues/17371.
38 7 Dominic Cleal
39
h3. #1983: proxy @:puppet_conf@ setting required
40
41
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@:
42
43
    :puppet_conf: /etc/puppet/puppet.conf
44
45
The following error will be seen otherwise:
46
47 1 Greg Sutcliffe
    ERROR -- : Failed to show puppet environment: Error converting value for param 'config': Could not find value for $confdir
48 8 Dominic Cleal
49
h3. #1994: @:puppetconfdir@ setting required
50
51
The @:puppetconfdir@ setting was removed from the default settings.yaml, but it's still required.  Add back the following line:
52
53
    :puppetconfdir: /etc/puppet/puppet.conf
54
55
This is causing the following error:
56
57
    Error parsing arguments
58
/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'
59
/home/bretw/src/foreman/vendor/ruby/1.8/gems/puppet-3.0.1/lib/puppet/settings.rb:183:in `parse_global_options'
60
/home/bretw/src/foreman/vendor/ruby/1.8/gems/puppet-3.0.1/lib/puppet/settings.rb:146:in `initialize_global_settings'
61
/home/bretw/src/foreman/lib/foreman/default_settings/loader.rb:27:in `load'
62
63
h3. #1994: @$vardir@ interpolation problems
64
65
Puppet may throw an error indicating $vardir couldn't be resolved, e.g.
66
67
   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
68
69
Ensure :puppetconfdir is pointing to a file such as puppet.conf rather than the directory (yes, this is wrong).
70
71
h3. #1997: facts not importing (unconfirmed)
72
73
#1997 reports MySQL errors while importing facts, e.g.
74
75
    Started POST "/fact_values/create" for xxxxxxxx at Wed Dec 05 16:01:05 +0800 2012
76
Processing by FactValuesController#create as
77
Parameters: {"facts"=>"[FILTERED]"}
78
Failed to import facts: Mysql2::Error: Column 'name' cannot be null: ...
79 1 Greg Sutcliffe
80
h1. Conclusions
81
82
There may well be other problems too. Let us know on the bug tracker, IRC, or the dev mailing list if you find any.