On 2014-03-12 15:35, Martijn Grendelman wrote:
Hi,

Please consider the following simplified code:

class apache::params {
$priority = 25
}

define apache::vhost (
$priority = $::apache::params::priority
) {

include apache::params

notify { "$name prio 1: $apache::params::priority": }
notify { "$name prio 2: $priority": }
}

apache::vhost { 'test': }


Is there ANY way that the notifys in the apache::vhost type would display a different value? Shouldn't $apache::params::priority and $priority not be the same?

I have a case where on /some/ nodes, $priority (and other parameters that have defaults from $::apache::params that I omitted here) are empty (undef). If I access $::apache::params::priority directly, the correct value is presented.
This code is in use on many nodes, and most don't exhibit the problem.

Any idea what might be the problem here? I've been trying different things for over an hour, and I'm afraid I'm losing my sanity...

You have an order of evaluation problem primarily. See here for an explanation of in which order classes and defines are evaluated:
http://puppet-on-the-edge.blogspot.se/2014/04/getting-your-puppet-ducks-in-row.html

The problem is that you have not included the class (and thus not defined the parameter $::apache::params::priority) at the time you are instantiating the resource apache::vhost{test: }. If you instead include the class prior to instantiating the resource it may work better.

(Or organize the thing differently once you read about the order classes and defines are evaluated.)

- henrik
Best regards,
Martijn.
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/4b344b14-de9b-446c-93e7-110d335f91cd%40googlegroups.com <https://groups.google.com/d/msgid/puppet-users/4b344b14-de9b-446c-93e7-110d335f91cd%40googlegroups..com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.


--

Visit my Blog "Puppet on the Edge"
http://puppet-on-the-edge.blogspot.se/


--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/m5om91%24i93%241%40ger.gmane.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to