Jira (PUP-7493) The 'desired_value' as File mode is reported without leading zeros

0 views
Skip to first unread message

Filip Hrbek (JIRA)

unread,
May 3, 2017, 9:58:03 AM5/3/17
to puppe...@googlegroups.com
Filip Hrbek created an issue
 
Puppet / Bug PUP-7493
The 'desired_value' as File mode is reported without leading zeros
Issue Type: Bug Bug
Affects Versions: PUP 4.10.1
Assignee: Unassigned
Created: 2017/05/03 6:57 AM
Priority: Normal Normal
Reporter: Filip Hrbek

A file mode change is reported inaccurately, for example, if the desired file mode value is '0640' and the actual value is '0660', the 'desired_value' is reported as '640', i.e. losing the leading zero.

We can observe this behaviour in PE 2016.4 (with puppet 4.10.1) and later but we didn't dive deeper in history, so this bug might have been there even since much older versions.

Here's a snippet of a real report containing a trimmed file mode value in the event:

  File[pe-internal-mcollective-servers.cert.pem]: !ruby/object:Puppet::Resource::Status
    title: pe-internal-mcollective-servers.cert.pem
    file: "/opt/puppetlabs/puppet/modules/puppet_enterprise/manifests/master/keypair.pp"
    line: 30
    resource: File[pe-internal-mcollective-servers.cert.pem]
    resource_type: File
    containment_path:
    - Stage[main]
    - Puppet_enterprise::Profile::Master::Mcollective
    - Puppet_enterprise::Master::Keypair[pe-internal-mcollective-servers]
    - File[pe-internal-mcollective-servers.cert.pem]
    evaluation_time: 0.002628581
    tags:
    - file
    - pe-internal-mcollective-servers.cert.pem
    - puppet_enterprise::master::keypair
    - puppet_enterprise
    - master
    - keypair
    - pe-internal-mcollective-servers
    - class
    - puppet_enterprise::profile::master::mcollective
    - profile
    - mcollective
    - node
    - default
    time: '2017-04-28T11:07:47.359181163+00:00'
    failed: false
    changed: true
    out_of_sync: true
    skipped: false
    change_count: 1
    out_of_sync_count: 1
    events:
    - !ruby/object:Puppet::Transaction::Event
      audited: false
      property: mode
      previous_value: '0660'
      desired_value: '640'
      historical_value:
      message: mode changed '0660' to '0640'
      name: :mode_changed
      status: success
      time: 2017-04-28 11:07:47.360815071 +00:00
      redacted:
      corrective_change: true
    corrective_change: true

This is the related puppet manifest that does contain the leading zero:

define puppet_enterprise::master::keypair(
  $keypair_name = $title,
){
  File {
    owner   => $puppet_enterprise::params::puppet_user,
    group   => $puppet_enterprise::params::puppet_group,
    mode    => '0640',
    require => Package['pe-puppetserver'],
  }
 
  $cert_dir = "${puppet_enterprise::params::ssl_dir}/certs"
  $private_key_dir = "${puppet_enterprise::params::ssl_dir}/private_keys"
  $public_key_dir = "${puppet_enterprise::params::ssl_dir}/public_keys"
 
  file { "${keypair_name}.cert.pem":
    path    => "${cert_dir}/${keypair_name}.pem",
    content => file("${cert_dir}/${keypair_name}.pem", '/dev/null'),
  }
 
  file { "${keypair_name}.private_key.pem":
    path    => "${private_key_dir}/${keypair_name}.pem",
    content => Sensitive(file("${private_key_dir}/${keypair_name}.pem", '/dev/null')),
  }
 
  file { "${keypair_name}.public_key.pem":
    path    => "${public_key_dir}/${keypair_name}.pem",
    content => file("${public_key_dir}/${keypair_name}.pem", '/dev/null'),
  }
}

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v6.4.14#64029-sha1:ae256fe)
Atlassian logo

Mindy Moreland (JIRA)

unread,
May 3, 2017, 2:02:05 PM5/3/17
to puppe...@googlegroups.com
Mindy Moreland commented on Bug PUP-7493
 
Re: The 'desired_value' as File mode is reported without leading zeros

Known issue added to PE 2016.4, 2016.5, 2017,1, and 2017.2.

Mindy Moreland (JIRA)

unread,
May 3, 2017, 2:04:02 PM5/3/17
to puppe...@googlegroups.com

Geoff Nichols (JIRA)

unread,
May 4, 2017, 1:44:02 PM5/4/17
to puppe...@googlegroups.com
Geoff Nichols updated an issue
Change By: Geoff Nichols
Labels: doc_reviewed  needs_epic

Josh Cooper (JIRA)

unread,
May 4, 2017, 1:54:04 PM5/4/17
to puppe...@googlegroups.com
Josh Cooper commented on Bug PUP-7493
 
Re: The 'desired_value' as File mode is reported without leading zeros

I think it's related to:

    elsif value =~ /^0?[0-7]{1,4}$/ then
      return value.to_i(8).to_s(8)

in symbolic_file_modes.rb, which is triggered during munge. Apparently the insync? relies on comparing octal values without a leading 0.

Josh Cooper (Jira)

unread,
Jun 11, 2021, 7:44:02 PM6/11/21
to puppe...@googlegroups.com
Josh Cooper assigned an issue to Josh Cooper
 
Change By: Josh Cooper
Assignee: Josh Cooper
This message was sent by Atlassian Jira (v8.13.2#813002-sha1:c495a97)
Atlassian logo

Josh Cooper (Jira)

unread,
Jun 11, 2021, 9:55:03 PM6/11/21
to puppe...@googlegroups.com

Gabriel Nagy (Jira)

unread,
Jun 15, 2021, 2:48:01 AM6/15/21
to puppe...@googlegroups.com
Gabriel Nagy updated an issue
Change By: Gabriel Nagy
Fix Version/s: PUP 7.9.0
Fix Version/s: PUP 6.24.0

Gabriel Nagy (Jira)

unread,
Jun 15, 2021, 2:48:03 AM6/15/21
to puppe...@googlegroups.com

Josh Cooper (Jira)

unread,
Jun 16, 2021, 11:29:01 AM6/16/21
to puppe...@googlegroups.com

Josh Cooper (Jira)

unread,
Jun 16, 2021, 11:32:02 AM6/16/21
to puppe...@googlegroups.com
Josh Cooper updated an issue
 
Change By: Josh Cooper
Release Notes: Bug Fix
Release Notes Summary: Puppet reports for octal file modes now include a leading zero in the `desired_value` field, eg "0755", to be consistent with the `previous_value`.

Josh Cooper (Jira)

unread,
Jun 16, 2021, 11:34:01 AM6/16/21
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Comment: Passed CI in 22699d4a48

Josh Cooper (Jira)

unread,
Jun 21, 2021, 1:30:03 PM6/21/21
to puppe...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages