On Tuesday, December 4, 2012 8:10:00 PM UTC-6, Pete wrote:
>
>
> One last question.
> I use a node level variable to specify the location of a node.
> I use this for setting variables specific to that location like different 
> puppet master ip and nagios ip for the office and such.
> I want to use that variable in hiera for the same purpose.
> I have this in my hiera.yaml file.
>
> ---
> :hierachy:
>   - %{::clientcert}
>   - %{::environment}
>   - %{location}
>   - virtual_%{::is_virtual}
>   - common
> :backends: yaml
> :yaml:
>   :datadir: /etc/puppet/hieradata
>
> it gets data from the common.yaml file but is seems to not get anything 
> from any of the other files.
> it's definitely using the datadir because thats where the common.yaml file 
> is as well as the rest of the data files.
> Am I missing something?
>
>
You are missing that node variables are not globals, and in fact don't even 
have qualified names.  I strongly suspect that that is why Hiera is not 
seeing them.

There are several potential workarounds, among them:

   - set the needed variable(s) at top-level, based on some sort of 
   conditional
   - push all the contents of your node blocks into classes, so that the 
   variables in question become class variables
   - instead of creating a separate hierarchy level with a data file for 
   each value of (say) $environment,use a hash of hashes in the level below, 
   with the $environment values as the outer hash keys


Cheers,

John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/1Ajo2OXHPC4J.
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.

Reply via email to