Issue #8255 has been updated by tgeeky -.
James Turnbull wrote: > Hi - thanks for working through this. We need to do a couple of things > before we can merge the code. First, we need to get you to sign a CLA (see > the link at https://projects.puppetlabs.com/contributor_licenses/sign). Then > it'd be awesome if you could have a read of our dev process > (http://projects.puppetlabs.com/projects/puppet/wiki/Development_Development_Lifecycle) > and it'd be great if you could submit your patch as a pull request or to the > puppet-dev mailing list so we can give it a review! Thanks again! * CLA agreed upon * dev process scanned * pull request [[submitted on github]](https://github.com/puppetlabs/puppet/pull/17). One issue is that my email address on github contains a +github filter, so for now I've included it in my puppet profile. ---------------------------------------- Bug #8255: inconsistent handling of octal in file { mode => 'nnnn' } https://projects.puppetlabs.com/issues/8255 Author: tgeeky - Status: Requires CLA to be signed 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.
