Project

General

Profile

Actions

PuppetThreeWorkarounds » History » Revision 1

Revision 1/19 | Next »
Greg Sutcliffe, 11/12/2012 11:44 AM


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. Pull request 166 has been updated with a workaround, so please let us know if you're still seeing this.

Cannot import classes

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

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

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 Greg Sutcliffe over 11 years ago · 1 revisions