Issue #4792 has been updated by Paul Berry.
Jesse and I found a possible explanation.
Using this manifest:
<pre>
class foo
{
include bar
}
class bar
{
notify { barf: }
}
</pre>
and this "external node classifier" script:
<pre>
#!/usr/bin/ruby
require 'yaml'
puts (({'parameters' => {}, 'classes' => ['foo', 'bar']}).to_yaml)
</pre>
We can produce a duplicate definition error:
<pre>
[puppet] ~/puppet_labs/notes/tests/bug4792$ puppet init.pp --external_nodes
~/puppet_labs/notes/tests/bug4792/node_classifier.rb --node_terminus exec
Duplicate definition: Notify[barf] is already defined in file
/Users/pberry/puppet_labs/notes/tests/bug4792/init.pp at line 8; cannot
redefine at /Users/pberry/puppet_labs/notes/tests/bug4792/init.pp:8 on node
paul-berrys-macbook-pro-2.local
</pre>
More details to follow.
----------------------------------------
Bug #4792: Duplicate definition since 2.6.1 upgrade
http://projects.puppetlabs.com/issues/4792
Author: James Turnbull
Status: Needs more information
Priority: High
Assignee: Jesse Wolfe
Category: parser
Target version: 2.6.2
Affected version: 2.6.1
Keywords:
Branch:
Class, users::virtual which has all the user{} statements for all users. Then
have classes like users::cms and users::developers that inherit users::virtual
and then realize some of the users. This all worked perfectly fine in 2.5 but
since 2.6.1 runs now fail with:
<pre>
err: Could not retrieve catalog from remote server: Error 400 on SERVER:
Duplicate definition: User[apen
ney] is already defined in file
/etc/puppet/modules/testing/users/manifests/virtual.pp at line 19; canno
t redefine at /etc/puppet/modules/testing/users/manifests/virtual.pp:19 on node
hlslinutil1.law.harvard.
edu
</pre>
<pre>
realize(
User['user'],
)
}
# cat virtual.pp
class users::virtual {
##
## Sysadmins
##
@user { "user":
ensure => "present",
uid => 35421,
gid => 100,
groups => "wheel",
comment => "User Name",
home => "/home/user",
shell => "/bin/zsh",
password => password,
managehome => true,
}
}
</pre>
--
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.