Hi all,

Today I upgraded both my puppet server (2.7.1) a puppet client(s)
(2.6.9) to 2.7.3 and suddenly my modules didn't work anymore. I don't
know if 2.7.3 is more strict than 2.7.1, or if it's a bug, so I hope
someone can help me.

I have several modules where the file and/or directory are separated
from the permissions I set on them
This is because I sometimes want to create a single directory, and
later set specific user/group and permissions to one or all files
(recurse) in it.

Here is an example for the ntp module

class ntp (
  $autoupgrade = 'false' ){

  require ntp::params

  # Create var directory

  file { "${ntp::params::var_directory}":
    ensure  => directory,
  }

  # Set var permissions

  sysconfig::permissions { "${ntp::params::module_label}_permissions$
{ntp::params::var_directory}":
    sysconfig_module => "${ntp::params::module_label}",
    sysconfig_name   => "${ntp::params::var_directory}",
    sysconfig_owner  => "${ntp::params::user_name}",
    sysconfig_group  => "${ntp::params::group_name}",
    sysconfig_mode   => "${ntp::params::var_permissions}",
  }

  .. removed some lines

} # End class

and also the sysconfig::permissions define module

define sysconfig::permissions (
  $sysconfig_module,
  $sysconfig_name,
  $sysconfig_recurse = 'false',
  $sysconfig_owner,
  $sysconfig_group,
  $sysconfig_mode = undef ) {

  # Load defaults

  require sysconfig::params

  # Set permissions

  file { "${sysconfig_module}_${sysconfig_name}":
    name    => "${sysconfig_name}",
    recurse => "${sysconfig_recurse}",
    owner   => "${sysconfig_owner}",
    group   => "${sysconfig_group}",
  }

  if $sysconfig_mode != undef {
    File["${sysconfig_module}_${sysconfig_name}"] {
      mode => "${sysconfig_mode}",
    }
  }

} # End define


When puppet runs, I get the following error

err: Could not retrieve catalog from remote server: Error 400 on
SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError:
Cannot alias File[ntp_/var/lib/ntp] to ["/var/lib/ntp"] at /etc/puppet/
modules/sysconfig/manifests/permissions.pp:47; resource ["File", "/var/
lib/ntp"] already defined at /etc/puppet/modules/ntp/manifests/init.pp:
18 at /etc/puppet/modules/sysconfig/manifests/permissions.pp:47 on
node client.mydomain.com

In the previous version, this would not be a problem as the file in
the ntp module would be
file { "/var/lib/ntp": }

and the file in the sysconfig::permissions module would be
file { "ntp_/var/lib/ntp": }

I would reference from back from the sysconfig::permissions module to
the ntp module file by specifying
name => "/var/lib/ntp"

Do I need to change all my modules because I used a feature of puppet
which should not be there, and if so, how could I best fix this.

Kind regards,
Rene

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to