On 20/03/18 04:19, Gino Lisignoli wrote:
Hello

I'm using hiera with the http backend (as couchdb) which works for data lookup, but I want to user data interpolation (https://puppet.com/docs/puppet/5.0/hiera_interpolation.html).

At the moment I am trying to do a simple test of:

|
classfoo (
   $bar =lookup("some::path::var")
){
   notify {'bar':
     message =>$bar
}
}
|

Couchdb:
|
{
"some::path::var":"%{::fqdn}"
}
|


But my notify output is always:

Notice: /Stage[main]/Foo::Notify[bar]/message:current_value absent, should be %{::fqdn} (noop)

Any ideas why this isn't getting resolved as the fqdn fact?

Afaik, the interpolation should be performed by the backend itself for hiera 3 backends. Does other interpolations work with the couchdb backend? If not, log a ticket for that backend.

The right path forward is to use hiera 5 and write a hiera 5 backend for couchdb. This is as simple as writing a function - probably of the "lookup_key" kind. When doing such a lookup, there is a method to call on the "lookup context" object given to the function that performs interpolation.

Others that have written hiera 5 backend functions have done so quite easily and made the hiera 3 backend be capable of supporting both the hiera 3 backend API and the new hiera 5 at the same time.

Best,
- henrik


--

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/p8qsv3%24ui%241%40blaine.gmane.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to