Bug #12540

puppet config print generates invalid log settings if puppet.conf doesn't exist

Added by Josh Cooper 3 months ago.

Status:Accepted Start date:02/09/2012
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:-
Target version:2.7.x
Affected Puppet version: Branch:
Keywords:
Votes: 0

Description

If ~/.puppet/puppet.conf does not exist, then puppet config print generates an invalid config for settings that are based on $vardir/log:

$ rm ~/.puppet/puppet.conf
$ puppet config print logdir
$vardir/log
The Puppet log directory.

Note the value of the logdir property is actually two lines with an embedded newline. Other log settings based on logdir have the same problem:

$ puppet config print all | grep vardir/log
httplog = $vardir/logThe Puppet log directory./http.log
logdir = $vardir/logThe Puppet log directory.
masterhttplog = $vardir/logThe Puppet log directory./masterhttp.log
masterlog = $vardir/logThe Puppet log directory./puppetmaster.log
puppetdlog = $vardir/logThe Puppet log directory./puppetd.log
railslog = $vardir/logThe Puppet log directory./rails.log

Now create an empty puppet.conf and all of the logdir settings use the interpolated value of $vardir/log:

$ touch ~/.puppet/puppet.conf
$ puppet config print all | grep vardir/log
$ puppet config print logdir
/Users/josh/.puppet/var/log

This looks to be an issue with run_mode, see Puppet::Util::RunMode.logopts

Also available in: Atom PDF