PuppetThreeWorkarounds » History » Version 19
Leos Stejskal, 10/15/2021 11:49 AM
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 | 18 | Dominic Cleal | # 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 has been improved in 1.1 RC4. |
29 | 16 | Dominic Cleal | # 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: ... |