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 [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-users?hl=en.