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.

Reply via email to