Hello, I'm encountering an issue which I think is a bug, but I want to propose it here before filing it for good @puppetlabs, and be sure it's not just a misunderstanding.
Actually, I often use a construction where a "main" class would include some small others that build a complete service (install, config, service ) Relationship are given (and respected) in the main class between those subclasses. However, I found out that is a defined type is stating that it requires the main class, this won't mean it requires the subclasses. Here is an example, ran on Ubuntu with the package "ldap". ###################" define aaaa () { Class[ 'test'] -> Aaaa[ $name ] file { '/etc/slapd.d/define': ensure => file, content => 'define', } } class test { Class[ 'install' ] -> Class[ 'config'] include install include config } class install { package { 'slapd': ensure => 'present', } } class config { file { '/etc/slapd.d/config': ensure => file, content => 'config', } } node default { aaaa { 'test': } include test } ################ notice: /Stage[main]//Node[default]/Aaaa[test]/File[/etc/slapd.d/define]/ensure: current_value absent, should be file (noop) notice: Aaaa[test]: Would have triggered 'refresh' from 1 events notice: Node[default]: Would have triggered 'refresh' from 1 events notice: /Stage[main]/Install/Package[slapd]/ensure: current_value purged, should be present (noop) notice: Class[Install]: Would have triggered 'refresh' from 1 events notice: /Stage[main]/Config/File[/etc/slapd.d/config]/ensure: current_value absent, should be file (noop) notice: Class[Config]: Would have triggered 'refresh' from 1 events notice: Class[Main]: Would have triggered 'refresh' from 1 events notice: Stage[main]: Would have triggered 'refresh' from 3 events notice: Finished catalog run in 0.18 seconds As we can see, the define Aaaa[test] is created before the class, and in this case Puppet would fail because the folder /etc/slapd.d/ would not exist before the file "/etc/slapd.d/define" is created in it. This could of course be fixed by requiring the subclass "install" directly, but I think that is unexpected. I hope some will be able to shine my lights on this Puppet behaviour. Thanks -- Bruno Léon -- 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.