hey ----- "Patrick Mohr" <kc7...@gmail.com> wrote:
> On Jun 30, 2010, at 3:09 AM, R.I.Pienaar wrote: > > > > > ----- "Trevor Vaughan" <tvaug...@onyxpoint.com> wrote: > > > >> Also, I'm not entirely convinced that variables can't be > overridden. > >> I understand that the final compilation is order independent, but > I > >> believe that the initial run is file order dependent. I.e. if you > >> don't declare an 'include' before an 'if' statement checking for > the > >> included class, then you end up with an 'if' that is not called. > Could the > >> variable parsing be moved to this layer? > > > > I'd call this parsing behavior a bug, see my comment about > defined(), it's > > related to that > > > > http://projects.reductivelabs.com/issues/3049 > > By the way, ignoring the technical aspect, how do you think defined > should work in this case? In this case, what aleart should be printed, > or what error should be printed? This is a rather contrived example, > but I'm not really sure what puppet should actually do here with your > suggestion. (Please excuse my syntax errors). > > > > node 'test-node' { > include classA > include classB > } > > > class classA { > if !defined Package['apache'] > { > package { 'apache': > ensure => installed, > } > > alert("Package apache included by classA") > } > } > > class classB { > if !defined Package['apache'] > { > package { 'apache': > ensure => installed, > } > > alert("Package apache included by classB") > } > } This would fall under the umbrella of bad manifest design :) I'd expect it to print different alerts between runs - today it would be predictable, i think but I wouldnt treat that as something to rely on. -- R.I.Pienaar -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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.