Christopher McCrory
2011-Oct-26 20:16 UTC
[Puppet Users] help with defined() and subclasses
Hello... Can someone hit me with a clue stick? I cannot understand why if defined(File[''/tmp/file-bar'']) { notify {"DEBUG if defined class $title THIS NEVER WORKS":} } from below does not work. I''m using 2.6.11 from tmz''s repo $ cat file-test.pp # vim: set syntax=puppet # class create-file { file {"/tmp/file-main": ensure => exists } } class file-test { #notify {"class $title":} include file-test::foo include file-test::foo::baz include file-test::bar include file-test::bar::baz #if defined(File[''/tmp/file-main'']) { #notify {"DEBUG if defined class $title":} #} } class file-test::foo { #notify {"class $title":} if defined(File[''/tmp/file-main'']) { #notify {"DEBUG if defined class $title":} } } class file-test::foo::baz inherits file-test::foo { notify {"class $title":} if defined(File[''/tmp/file-bar'']) { notify {"DEBUG if defined class $title THIS NEVER WORKS":} } } class file-test::bar { notify {"class $title":} file {"/tmp/file-bar": ensure => exists } } class file-test::bar::baz inherits file-test::bar { notify {"class $title":} if defined(File[''/tmp/file-main'']) { notify {"DEBUG if defined class $title THIS DOES WORK":} } } node default { include create-file include file-test } run results: $ /bin/rm /tmp/file-bar /tmp/file-main ; puppet file-test.pp | cat - warning: Could not retrieve fact fqdn warning: Host is missing hostname and/or domain: wednesday notice: DEBUG if defined class file-test::bar::baz THIS DOES WORK notice: /Stage[main]/File-test::Bar::Baz/Notify[DEBUG if defined class file-test::bar::baz THIS DOES WORK]/message: defined ''message'' as ''DEBUG if defined class file-test::bar::baz THIS DOES WORK'' notice: class file-test::foo::baz notice: /Stage[main]/File-test::Foo::Baz/Notify[class file-test::foo::baz]/message: defined ''message'' as ''class file-test::foo::baz'' notice: /Stage[main]/Create-file/File[/tmp/file-main]/ensure: created notice: class file-test::bar::baz notice: /Stage[main]/File-test::Bar::Baz/Notify[class file-test::bar::baz]/message: defined ''message'' as ''class file-test::bar::baz'' notice: /Stage[main]/File-test::Bar/File[/tmp/file-bar]/ensure: created notice: class file-test::bar notice: /Stage[main]/File-test::Bar/Notify[class file-test::bar]/message: defined ''message'' as ''class file-test::bar'' notice: Finished catalog run in 0.06 seconds -- Christopher McCrory To the optimist, the glass is half full. To the pessimist, the glass is half empty. To the engineer, the glass is twice as big as it needs to be. -- 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+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.