Project

General

Profile

PuppetThreeWorkarounds » History » Version 17

Dominic Cleal, 01/03/2013 06:18 AM
puppet.conf mode will be fixed in 3.1.0

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 12 Dominic Cleal
Currently Foreman 1.1 (release candidate) works reliably with Puppet 3.  Ensure you update both the Foreman UI and the Smart Proxy.
10 1 Greg Sutcliffe
11 12 Dominic Cleal
* "Foreman 1.1 RC .debs":http://groups.google.com/group/foreman-users/browse_thread/thread/a813711326d89685
12
* "Foreman 1.1 RC RPMs":http://groups.google.com/group/foreman-users/browse_thread/thread/b17e33c701839c28
13
14
If you hit any other issues, please let us know on the bug tracker, IRC, or the mailing lists.
15
16 16 Dominic Cleal
h2. Release notes
17
18
This should be seamless for most users, but due to changes in how settings are loaded in Puppet 3 there have been a few changes.
19
20
h3. sudoers
21
22
Foreman installer has been updated, but for other users, ensure sudo rules allow access to @/usr/bin/puppet cert *@ now instead of @/usr/sbin/puppetca@ and @/usr/bin/puppet kick *@ instead of @/usr/sbin/puppetrun@.
23
24
h3. unable to get [:hostcert, :localcacert, :hostprivkey, :storeconfigs] Puppet setting
25
26
Instead of calling Puppet as a library (which got more complex with 3.x), Foreman 1.1 calls @puppet master --configprint ...@ to fetch config values.  There are two problems with this:
27
28
# Multiple puppet binaries in $PATH - check that you don't have the puppet gem installed if you're using an RPM or deb, this can interfere.  Debug is being improved for 1.1 in #2097.
29
# puppet.conf may not be @/etc/puppet/puppet.conf@, particularly for PE users.  Foreman now has to set --config or --confdir in order to make Puppet read the correct config as it doesn't run as root.  Ensure that @:puppetconfdir@ is set correctly in @config/settings.yaml@ to either the config directory or puppet.conf itself.
30
31 1 Greg Sutcliffe
h2. Fixed issues
32 6 Dominic Cleal
33 1 Greg Sutcliffe
The develop branch contains fixes for the following issues:
34 6 Dominic Cleal
35 7 Dominic Cleal
* uninitialized constant HostObserver (#1872)
36
* could not find value for $confdir (Puppet::Settings::InterpolationError) (#1915)
37 6 Dominic Cleal
* report processing seems to work but the summaries are all zero (#1872)
38
* cannot view certificates that are present on the proxy
39 7 Dominic Cleal
* cannot import classes, "Attempting to initialize global default settings more than once!" (#1915, #1950)
40 10 Dominic Cleal
* proxy @:puppet_conf@ setting required (#1983)
41 11 Dominic Cleal
* @:puppetconfdir@ setting required (#1994)
42
* @$vardir@ interpolation problems (#1994)
43 4 Sam Kottler
44 6 Dominic Cleal
h2. Remaining issues
45 5 Sam Kottler
46 6 Dominic Cleal
h3. Proxy complains of autosign permissions issues
47 1 Greg Sutcliffe
48
The current version of Puppet ignores the file permissions settings in puppet.conf. In other words, this doesn't work:
49
50
    [master]
51
      autosign       = /etc/puppet/autosign.conf { mode = 664 }
52
53
However, for the moment, it's so broken that puppet will not fix the ownership of the file, so you can run this instead:
54
55
    chown foreman-proxy:puppet /etc/puppet/autosign.conf
56
57
Alternatively, you could try moving it to the [main] section of the puppet.conf, which also seems to fix the problem.
58 8 Dominic Cleal
59 17 Dominic Cleal
Logged with patch as Puppet "issue #17371":http://projects.puppetlabs.com/issues/17371, will be fixed in Puppet 3.1.0.
60 8 Dominic Cleal
61 15 Dominic Cleal
h3. #2065: sudoers needs configuring for @puppet kick@
62 13 Dominic Cleal
63 15 Dominic Cleal
The Foreman installer needs to configure sudoers for @puppet kick@ instead of @puppetrun@.  See [[Puppetrun]] for example configuration.
64 13 Dominic Cleal
65 14 Dominic Cleal
h3. #2085: proxy not importing first module
66
67
When importing classes or environments, the proxy scans through all the modules in the module search path in puppet.conf.  With Puppet 3, it isn't initialising correctly and so ignores the first module found - subsequent modules are found.  If this is the only module, it won't discover the environment at all.
68
69 8 Dominic Cleal
h3. #1997: facts not importing (unconfirmed)
70
71
Issue #1997 reports MySQL errors while importing facts, e.g.
72
73 1 Greg Sutcliffe
    Started POST "/fact_values/create" for xxxxxxxx at Wed Dec 05 16:01:05 +0800 2012
74
Processing by FactValuesController#create as
75
Parameters: {"facts"=>"[FILTERED]"}
76
Failed to import facts: Mysql2::Error: Column 'name' cannot be null: ...