Project

General

Profile

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.