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.