per_node is not parsing generated json

Hieradata for individual nodes leads to json decoding error.

Related: https://bugzilla.redhat.com/1924952
Change-Id: I1cea09bfd2595ce3ae6c2b39adbb40044a4e0b0b
This commit is contained in:
David Vallee Delisle 2021-02-05 19:20:47 -05:00
parent c5c3465d14
commit a68149f247
1 changed files with 10 additions and 2 deletions

View File

@ -45,18 +45,26 @@ resources:
# the data of the NodeDataLookup parameter that matches the
# system UUID
echo $node_lookup | $(get_python) -c "
import ast
import json
import sys
input = sys.stdin.readline() or '{}'
cnt = json.loads(input)
try:
cnt = json.loads(input)
except json.decoder.JSONDecodeError:
cnt = ast.literal_eval(input)
print(json.dumps(cnt.get('${node_id}', {})))
" > /etc/puppet/hieradata/${node_id}.json
# handle upper case node id LP#1816652
echo $node_lookup | $(get_python) -c "
import ast
import json
import sys
input = sys.stdin.readline() or '{}'
cnt = json.loads(input)
try:
cnt = json.loads(input)
except json.decoder.JSONDecodeError:
cnt = ast.literal_eval(input)
print(json.dumps(cnt.get('${node_id_upper}', {})))
" > /etc/puppet/hieradata/${node_id_upper}.json