diff --git a/puppet/extraconfig/pre_deploy/per_node.yaml b/puppet/extraconfig/pre_deploy/per_node.yaml index 64ba9acbb8..815afc02d1 100644 --- a/puppet/extraconfig/pre_deploy/per_node.yaml +++ b/puppet/extraconfig/pre_deploy/per_node.yaml @@ -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