Issue #8255 has been updated by tgeeky -.
Status changed from Requires CLA to be signed to Tests Insufficient
----------------------------------------
Bug #8255: inconsistent handling of octal in file { mode => 'nnnn' }
https://projects.puppetlabs.com/issues/8255
Author: tgeeky -
Status: Tests Insufficient
Priority: Normal
Assignee: tgeeky -
Category: installation
Target version: 2.7.x
Affected Puppet version: 2.7.1
Keywords: octal, permissions, genmanifest, defaults
Branch:
****I just noticed this is a repeat of bug
[[1756]](http://projects.puppetlabs.com/issues/1756)****. But for serveral
reasons (including the much different version of puppet), I'm posting it
separately.
I believe this merits priority ****High**** because it represents a major
stumbling block for people using puppet for the first time, and a tool which
doesn't properly generate its own configuration (though it claims to in docs)
represents a serious slight against the stability of the software in question.
****However****, since this problem may only be restricted to the scope of
--genmanifest (I suspect there is more inconsistent handling of octal in
puppet), I leave it at ****Normal**** for now.
In an out ****of-of-the-box**** configuration, the following command will
produce incorrect output:
puppet --genmanifest > /etc/puppet/manifests/site.pp
The resulting output contains decimal file modes like this one:
file { '/etc/puppet/ssl/private':
ensure => 'directory',
backup => 'false',
links => 'follow',
loglevel => 'debug',
mode => '488',
owner => 'puppet',
}
Trying to run with this autogenerated manifest:
puppet agent --server puppet --verbose --test --debug trace
Fails:
...
err: Could not run Puppet configuration client: Parameter mode failed: File
modes can only be octal numbers, not "488"
A one-liner fix was suggested by richardc, and tested by me (and it works,
insfoar as the output is parseable now):
diff --git a/lib/puppet/util/settings/file_setting.rb
b/lib/puppet/util/settings/file_setting.rb
index 776398e..c765a4b 100644
--- a/lib/puppet/util/settings/file_setting.rb
+++ b/lib/puppet/util/settings/file_setting.rb
@@ -91,7 +91,7 @@ class Puppet::Util::Settings::FileSetting <
Puppet::Util::Settings::Setting
resource = Puppet::Resource.new(:file, path)
if Puppet[:manage_internal_file_permissions]
- resource[:mode] = self.mode if self.mode
+ resource[:mode] = sprintf("%o", self.mode) if self.mode
if Puppet.features.root?
resource[:owner] = self.owner if self.owner
Much more detail is available in this
[[pastie]](http://www.pastie.org/pastes/2173089).
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en.