diff --git a/changelogs/fragments/warn_bad_local_fact.yml b/changelogs/fragments/warn_bad_local_fact.yml new file mode 100644 index 0000000000..b2724fbd8f --- /dev/null +++ b/changelogs/fragments/warn_bad_local_fact.yml @@ -0,0 +1,2 @@ +bugfixes: + - issue a warning when local fact is not correctly loaded, old behaviour just updated fact value with the error. diff --git a/lib/ansible/module_utils/facts/system/local.py b/lib/ansible/module_utils/facts/system/local.py index 20ba901cdb..fe33a3232f 100644 --- a/lib/ansible/module_utils/facts/system/local.py +++ b/lib/ansible/module_utils/facts/system/local.py @@ -60,6 +60,7 @@ class LocalFactCollector(BaseFactCollector): fact = 'error loading fact - output of running %s was not utf-8' % fn local[fact_base] = fact local_facts['local'] = local + module.warn(fact) return local_facts else: out = get_file_content(fn, default='') @@ -75,6 +76,7 @@ class LocalFactCollector(BaseFactCollector): cp.readfp(StringIO(out)) except configparser.Error: fact = "error loading fact - please check content" + module.warn(fact) else: fact = {} for sect in cp.sections():