diff --git a/defaults/main.yml b/defaults/main.yml index fef7bd2..946c70d 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,4 +1,4 @@ schema: {} hieradata: {} -hieradata_file: '' +hieradata_file: '/etc/puppet/hieradata/service_configs.json' fact_variable: '' diff --git a/library/parse_tripleo_hiera.py b/library/parse_tripleo_hiera.py index 06ada38..ef972e0 100644 --- a/library/parse_tripleo_hiera.py +++ b/library/parse_tripleo_hiera.py @@ -85,11 +85,12 @@ def main(): hieradata = module.params['hieradata'] hieradata_file = module.params['hieradata_file'] - if not (hieradata or hieradata_file): + if not (hieradata or (hieradata_file and os.path.exists(hieradata_file))): module.fail_json(msg="Either hieradata or hieradata_file must be set") if os.path.exists(hieradata_file): - hieradata = yaml.safe_load(hieradata_file) + # NOTE(flaper87): This will load both, json and yaml, files + hieradata = yaml.safe_load(open(hieradata_file)) conf_dict = {} for key, mapping in schema.items():