PuppetThreeWorkarounds » History » Version 3
Greg Sutcliffe, 11/13/2012 07:45 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 | Making Foreman and Puppet 3 work together requires quite some hackery. At the least, you should be running Foreman from Git, or be willing to perform serious amounts patching by hand. Usual disclaimers apply - this may all break in horrible ways, don't use it in production, etc etc etc. |
||
8 | |||
9 | h2. uninitialized constant HostObserver (#1872) |
||
10 | |||
11 | Foreman itself needs some code updates to load Puppet 3. You can merge the latest version from Sam Kottler's puppet3 branch in the usual way. Something like this: |
||
12 | |||
13 | git pull https://github.com/skottler/foreman puppet3 |
||
14 | |||
15 | h2. Could not find value for $confdir (Puppet::Settings::InterpolationError) |
||
16 | |||
17 | Puppet's parser is currently having issues with interpolated variables. If you have any variables in your puppet.conf, change them to explicit paths (exception: $environment seems ok). For example: |
||
18 | |||
19 | ssldir = $vardir/ssl |
||
20 | classfile = $vardir/classes.txt |
||
21 | localconfig = $vardir/localconfig |
||
22 | |||
23 | would become |
||
24 | |||
25 | ssldir = /var/lib/puppet/ssl |
||
26 | classfile = /var/lib/puppet/classes.txt |
||
27 | localconfig = /var/lib/puppet/localconfig |
||
28 | |||
29 | In addition, a change in Puppet 3 causes it to look in the wrong place for the puppet.conf file (~/.puppet instead of /etc/puppet). You may need to run: |
||
30 | |||
31 | ln -s /etc/puppet ~foreman/.puppet |
||
32 | |||
33 | h2. Report processing seems to work but the summaries are all zero |
||
34 | |||
35 | 2 | Greg Sutcliffe | This appears to be a minor change in the Puppet::Transaction::Report object. Sam Kottler's puppet3 branch has been updated with a workaround, so please let us know if you're still seeing this. |
36 | 1 | Greg Sutcliffe | |
37 | h2. Cannot import classes |
||
38 | |||
39 | This is a bug in the Puppet parser code. We've submitted a pull request, and are waiting for PuppetLabs to merge it. You can try it yourself, the code is at https://github.com/puppetlabs/puppet/pull/1270 |
||
40 | |||
41 | h2. Proxy complains of autosign permissions issues |
||
42 | |||
43 | The current version of Puppet ignores the file permissions settings in puppet.conf. In other words, this doesn't work: |
||
44 | |||
45 | [master] |
||
46 | autosign = /etc/puppet/autosign.conf { mode = 664 } |
||
47 | |||
48 | However, for the moment, it's so broken that puppet will not fix the ownership of the file, so you can run this instead: |
||
49 | |||
50 | chown foreman-proxy:puppet /etc/puppet/autosign.conf |
||
51 | |||
52 | 3 | Greg Sutcliffe | Alternatively, you could try moving it to the [main] section of the puppet.conf, which also seems to fix the problem. |
53 | |||
54 | 1 | Greg Sutcliffe | h1. Conclusions |
55 | |||
56 | There may well be other problems too. Let us know on the bug tracker, IRC, or the dev mailing list if you find any. |