Project

General

Profile

Actions

PuppetThreeWorkarounds » History » Revision 5

« Previous | Revision 5/19 (diff) | Next »
Sam Kottler, 11/13/2012 11:34 PM


PuppetThreeWorkarounds

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.

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.

uninitialized constant HostObserver (#1872)

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:

git pull https://github.com/skottler/foreman puppet3

Could not find value for $confdir (Puppet::Settings::InterpolationError)

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:

ssldir = $vardir/ssl
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig

would become

ssldir = /var/lib/puppet/ssl
classfile = /var/lib/puppet/classes.txt
localconfig = /var/lib/puppet/localconfig

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:

ln -s /etc/puppet ~foreman/.puppet

Report processing seems to work but the summaries are all zero

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.

Cannot view certificates that are present on the proxy
This is a problem with loading the "puppet" executable (instead of "puppetca"). https://github.com/theforeman/smart-proxy/pull/38 fixes this problem.

Cannot import classes
This is an issue on the proxy that causes the configuration to get loaded multiple times. https://github.com/theforeman/smart-proxy/pull/40 fixes this issue by ensuring that the load only happens once.

Proxy complains of autosign permissions issues

The current version of Puppet ignores the file permissions settings in puppet.conf. In other words, this doesn't work:

[master]
autosign = /etc/puppet/autosign.conf { mode = 664 }

However, for the moment, it's so broken that puppet will not fix the ownership of the file, so you can run this instead:

chown foreman-proxy:puppet /etc/puppet/autosign.conf

Alternatively, you could try moving it to the [main] section of the puppet.conf, which also seems to fix the problem.

Conclusions

There may well be other problems too. Let us know on the bug tracker, IRC, or the dev mailing list if you find any.

Updated by Sam Kottler over 11 years ago · 5 revisions