Project

General

Profile

PuppetThreeWorkarounds » History » Revision 5

Revision 4 (Sam Kottler, 11/13/2012 10:48 PM) → Revision 5/19 (Sam Kottler, 11/13/2012 11:34 PM)

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

 h2. 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. 

 h2. Cannot import classes 
 

 This is an issue on a bug in the proxy that causes the configuration Puppet parser code. We've submitted a pull request, and are waiting for PuppetLabs to get loaded multiple times. https://github.com/theforeman/smart-proxy/pull/40 fixes this issue by ensuring that merge it. You can try it yourself, the load only happens once. 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 

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

 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.