mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 13:52:54 +00:00
@@ -63,8 +63,13 @@ def clean_facts(facts):
|
||||
fact_keys = set(data.keys())
|
||||
# first we add all of our magic variable names to the set of
|
||||
# keys we want to remove from facts
|
||||
# NOTE: these will eventually disappear in favor of others below
|
||||
for magic_var in C.MAGIC_VARIABLE_MAPPING:
|
||||
remove_keys.update(fact_keys.intersection(C.MAGIC_VARIABLE_MAPPING[magic_var]))
|
||||
|
||||
# remove common connection vars
|
||||
remove_keys.update(fact_keys.intersection(C.COMMON_CONNECTION_VARS))
|
||||
|
||||
# next we remove any connection plugin specific vars
|
||||
for conn_path in connection_loader.all(path_only=True):
|
||||
try:
|
||||
@@ -72,7 +77,7 @@ def clean_facts(facts):
|
||||
re_key = re.compile('^ansible_%s_' % conn_name)
|
||||
for fact_key in fact_keys:
|
||||
# most lightweight VM or container tech creates devices with this pattern, this avoids filtering them out
|
||||
if re_key.match(fact_key) and not fact_key.endswith(('_bridge', '_gwbridge')):
|
||||
if (re_key.match(fact_key) and not fact_key.endswith(('_bridge', '_gwbridge'))) or re_key.startswith('ansible_become_'):
|
||||
remove_keys.add(fact_key)
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
@@ -43,7 +43,7 @@ from ansible.template import Templar
|
||||
from ansible.utils.listify import listify_lookup_plugin_terms
|
||||
from ansible.utils.vars import combine_vars
|
||||
from ansible.utils.unsafe_proxy import wrap_var
|
||||
from ansible.vars.clean import namespace_facts
|
||||
from ansible.vars.clean import namespace_facts, clean_facts
|
||||
|
||||
try:
|
||||
from __main__ import display
|
||||
@@ -313,7 +313,7 @@ class VariableManager:
|
||||
|
||||
# push facts to main namespace
|
||||
if C.INJECT_FACTS_AS_VARS:
|
||||
all_vars = combine_vars(all_vars, wrap_var(facts))
|
||||
all_vars = combine_vars(all_vars, wrap_var(clean_facts(facts)))
|
||||
else:
|
||||
# always 'promote' ansible_local
|
||||
all_vars = combine_vars(all_vars, wrap_var({'ansible_local': facts.get('ansible_local', {})}))
|
||||
|
||||
Reference in New Issue
Block a user