[PUP-1015] Error: Could not intialize global default settings: undefined method `mode=' for #<Puppet::Settings::AutosignSetting:0x7ff361614368> Created: 2013/12/12  Updated: 2014/01/07  Resolved: 2014/01/07

Status: Closed
Project: Puppet
Component/s: None
Affects Version/s: PUP 3.4.0 RC
Fix Version/s: PUP 3.4.2

Type: Bug Priority: Normal
Reporter: redmine.exporter Assignee: Unassigned
Resolution: Done Votes: 1
Labels: redmine
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
is duplicated by PUP-1256 Setting owner, group, mode for files ... Closed
relates to PUP-932 "Could not find value for $confdir" r... Closed
Story Points: 1
Sprint: Week 2013-12-11 to 2013-12-18, Week 2013-12-19 to 2014-1-2


Follow-on from #23349... regression from 3.3.x to 3.4.0-rc2. This affects all Foreman users, since it's the default installer configuration (https://github.com/theforeman/puppet-puppet/blob/master/templates/puppet.conf.erb#L21).

With this in puppet.conf:

    autosign       = $confdir/autosign.conf { mode = 664 }

# puppet --version
Error: Could not intialize global default settings: undefined method `mode=' for #&lt;Puppet::Settings::AutosignSetting:0x7f4b4ecff440&gt;
# rpm -q puppet

Sorry for not including the full puppet.conf entry in the earlier bug report, we could have avoided a round trip.

Comment by Dominic Cleal [ 2013/12/21 ]

If you're managing mode for autosign.conf in puppet.conf today, like the default Foreman setup:

    # Puppet 3.0.x requires this in both [main] and [master] - harmless on agents
    autosign       = $confdir/autosign.conf { mode = 664 }

Comment out this line for 3.4.0, but remember to uncomment it again for 3.4.1, else the file mode will reset back to the default!

Comment by Kurt Wall [ 2013/12/23 ]

Verified in puppet-

# puppet config set autosign '$confdir/autosign.conf { mode = 644 }' --section main
# cat /etc/puppet/puppet.conf 
    # The Puppet log directory.
    # The default value is '$vardir/log'.
    logdir = /var/log/puppet
    # Where Puppet PID files are kept.
    # The default value is '$vardir/run'.
    rundir = /var/run/puppet
    # Where SSL certificates are kept.
    # The default value is '$confdir/ssl'.
    ssldir = $vardir/ssl
autosign = $confdir/autosign.conf { mode = 644 }
# puppet --version
# rpm -q puppet

Comment by Dominic Cleal [ 2013/12/26 ]

Note, this wasn't released in 3.4.1 as the ticket says - 3.4.1 was a security release and this patch seems to have been held back. Presumably it'll go out in 3.4.2 instead.

Comment by Melissa Stone [ 2014/01/07 ]

Released in Puppet 3.4.2

Generated at Thu Jun 27 05:22:59 PDT 2019 using JIRA 7.7.1#77002-sha1:e75ca93d5574d9409c0630b81c894d9065296414.