Issue #8702 has been reported by Peter Meier.

----------------------------------------
Bug #8702: "including" 2 inherited classes via class resource syntax is order 
dependant
https://projects.puppetlabs.com/issues/8702

Author: Peter Meier
Status: Unreviewed
Priority: Normal
Assignee: 
Category: parameterized classes
Target version: 
Affected Puppet version: 
Keywords: 
Branch: 


While encountering #5349 and trying to find a workaround for it, I came up with 
another weirdness of parametrized classes:

<pre>
# cat foo.pp 
stage { "pre": before => Stage[main] }
class a {
  file{'/tmp/a': ensure => present }
}

class b inherits a {
  file{'/tmp/b': ensure => present, require => File['/tmp/a'] }
  include c
}

class c {
  file{'/tmp/c': ensure => present }
}

class {['b','a']: stage => pre }
# puppet foo.pp
Duplicate definition: Class[A] is already defined; cannot redefine at 
/root/foo.pp:15 on node foo
</pre>

But the following works:

<pre>
# cat foo.pp 
stage { "pre": before => Stage[main] }
class a {
  file{'/tmp/a': ensure => present }
}

class b inherits a {
  file{'/tmp/b': ensure => present, require => File['/tmp/a'] }
  include c
}

class c {
  file{'/tmp/c': ensure => present }
}

class {['a','b']: stage => pre }
# puppet foo.pp 
notice: Finished catalog run in 0.56 seconds
</pre>

Imho both cases should work.


-- 
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