PuppetThreeWorkarounds » History » Revision 2
Revision 1 (Greg Sutcliffe, 11/12/2012 11:44 AM) → Revision 2/19 (Greg Sutcliffe, 11/12/2012 11:47 AM)
h1. PuppetThreeWorkarounds {{toc}} 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. h2. 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 h2. 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 h2. 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 Pull request 166 has been updated with a workaround, so please let us know if you're still seeing this. h2. 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 h2. 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 h1. 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.