Hi, I've got a problem with Hiera interpolation (lookups). I'm fairly new 
to Hiera, so I think I am misunderstanding something important, but doc 
searches revealed nothing so far.

I'm using Puppet 7.x with the following hiera.yaml:

# hiera.yaml
---
version: 5
hierarchy:
- name: "Per-node data"
path: "nodes/%{::trusted.certname}.yaml"
- name: "Per-subsystem data"
path: "subsystems/%{::subsystem}.yaml"
- name: "Common and fallback data"
path: "common.yaml"

Basically, data should be searched first in the node-specific file, then in 
a subsystem specific file, then in the common file (that is empty, so far).

(bare bones) Agent-specific file looks like this:

# environments/test/data/nodes/agent1.yaml
---
my:
net:
host:
ip_address: "%{lookup('my.net.hosts.agent1')}"
needs_proxy: false

(you see that I use lookup interpolation, that's in order to avoid data 
duplication). 
The my.net.hosts.agent1 key is not part of this file, but is found in the 
subsystem-specific 

yaml:

# environments/test/data/subsystems/main.yaml
---
my:
net:
hosts:
agent01: "192.168.56.6"
    needs_proxy: true

Per the hiera.yaml above it this comes later in the hierarchy. 

Unfortunately, the agent fails with the following error:

Error: Could not retrieve catalog from remote server: Error 500 on SERVER: 
Server Error: Lookup of key 'my.net.hosts.agent01' failed: Recursive lookup 
detected in [my.net.needs_proxy, my.net.hosts.agent01] on node agent1

and I got no clue why that happens, as I can't see any obvious loops.

Any help would be greatly appreciated.

Thanks
Michele

-- 
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 puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/4d25e9b2-d2c3-4580-a2a9-ceac37fb1cf5n%40googlegroups.com.

Reply via email to