exec {
"dummy-start":
command => "/bin/echo dummy-start",
refreshonly => true;
"dummy-end":
command => "/bin/echo dummy-end",
refreshonly => true;
}
classfirst {notify {"must be first": require => Exec["dummy-start"] } }classmiddle1 {notify {"middle entry 1": } }
classmiddle2 {notify {"middle entry 2": } }
classmiddle3 {notify {"middle entry 3": } }
classlast {notify {"must be last": before => Exec["dummy-end"] } }
# Need a line like below for every Type{} you use. You should be able# to get away without it for in-.pp defined types, but types defined# in ruby code in a module will still need to be added here.Notify {require => Class["first"], before => Class["last"] }# enable syntax highlighting
node 'puppet-dev.cites.illinois.edu' {
include first
include middle1
include middle2
include middle3
include last
}
notice: Starting catalog run
debug: Loaded state in0.01 seconds
debug: //Node[puppet-dev.cites.illinois.edu]/middle2/Notify[middle entry 2]/require: requires Class[first]
debug: //Node[puppet-dev.cites.illinois.edu]/middle2/Notify[middle entry 2]/before: requires Class[last]
debug: //Node[puppet-dev.cites.illinois.edu]/first/Notify[must be first]/require: requires Exec[dummy-start]
debug: //Node[puppet-dev.cites.illinois.edu]/first/Notify[must be first]/before: requires Class[last]
debug: //Node[puppet-dev.cites.illinois.edu]/middle1/Notify[middle entry 1]/require: requires Class[first]
debug: //Node[puppet-dev.cites.illinois.edu]/middle1/Notify[middle entry 1]/before: requires Class[last]
debug: //Node[puppet-dev.cites.illinois.edu]/middle3/Notify[middle entry 3]/require: requires Class[first]
debug: //Node[puppet-dev.cites.illinois.edu]/middle3/Notify[middle entry 3]/before: requires Class[last]
debug: //Node[puppet-dev.cites.illinois.edu]/last/Notify[must be last]/require: requires Class[first]
debug: //Node[puppet-dev.cites.illinois.edu]/last/Notify[must be last]/before: requires Exec[dummy-end]
debug: //Node[puppet-dev.cites.illinois.edu]/first/Notify[must be first]: Changing message
debug: //Node[puppet-dev.cites.illinois.edu]/first/Notify[must be first]: 1change(s)
notice: must be first
notice: //Node[puppet-dev.cites.illinois.edu]/first/Notify[must be first]/message: defined 'message' as 'must be first'
debug: //Node[puppet-dev.cites.illinois.edu]/middle3/Notify[middle entry 3]: Changing message
debug: //Node[puppet-dev.cites.illinois.edu]/middle3/Notify[middle entry 3]: 1change(s)
notice: middle entry 3
notice: //Node[puppet-dev.cites.illinois.edu]/middle3/Notify[middle entry 3]/message: defined 'message' as 'middle entry 3'
debug: //Node[puppet-dev.cites.illinois.edu]/middle1/Notify[middle entry 1]: Changing message
debug: //Node[puppet-dev.cites.illinois.edu]/middle1/Notify[middle entry 1]: 1change(s)
notice: middle entry 1
notice: //Node[puppet-dev.cites.illinois.edu]/middle1/Notify[middle entry 1]/message: defined 'message' as 'middle entry 1'
debug: //Node[puppet-dev.cites.illinois.edu]/middle2/Notify[middle entry 2]: Changing message
debug: //Node[puppet-dev.cites.illinois.edu]/middle2/Notify[middle entry 2]: 1change(s)
notice: middle entry 2
notice: //Node[puppet-dev.cites.illinois.edu]/middle2/Notify[middle entry 2]/message: defined 'message' as 'middle entry 2'
debug: //Node[puppet-dev.cites.illinois.edu]/last/Notify[must be last]: Changing message
debug: //Node[puppet-dev.cites.illinois.edu]/last/Notify[must be last]: 1change(s)
notice: must be last
notice: //Node[puppet-dev.cites.illinois.edu]/last/Notify[must be last]/message: defined 'message' as 'must be last'
debug: Finishing transaction -607540128 with 5 changes
debug: Storing state
debug: Stored state in0.10 seconds
notice: Finished catalog run in0.28 seconds