mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Avoid duplicate system related fact calls. (#15716)
* Avoid duplicate system related fact calls. Addresses #1461
This commit is contained in:
parent
b41b6b2ec5
commit
5bb4ee0c1e
1 changed files with 8 additions and 3 deletions
|
@ -170,10 +170,13 @@ class Facts(object):
|
||||||
{ 'path' : '/usr/local/sbin/pkg', 'name' : 'pkgng' },
|
{ 'path' : '/usr/local/sbin/pkg', 'name' : 'pkgng' },
|
||||||
]
|
]
|
||||||
|
|
||||||
def __init__(self, module, load_on_init=True):
|
def __init__(self, module, load_on_init=True, cached_facts=None):
|
||||||
|
|
||||||
self.module = module
|
self.module = module
|
||||||
self.facts = {}
|
if not cached_facts:
|
||||||
|
self.facts = {}
|
||||||
|
else:
|
||||||
|
self.facts = cached_facts
|
||||||
### TODO: Eventually, these should all get moved to populate(). But
|
### TODO: Eventually, these should all get moved to populate(). But
|
||||||
# some of the values are currently being used by other subclasses (for
|
# some of the values are currently being used by other subclasses (for
|
||||||
# instance, os_family and distribution). Have to sort out what to do
|
# instance, os_family and distribution). Have to sort out what to do
|
||||||
|
@ -3180,7 +3183,9 @@ def ansible_facts(module, gather_subset):
|
||||||
facts['gather_subset'] = list(gather_subset)
|
facts['gather_subset'] = list(gather_subset)
|
||||||
facts.update(Facts(module).populate())
|
facts.update(Facts(module).populate())
|
||||||
for subset in gather_subset:
|
for subset in gather_subset:
|
||||||
facts.update(FACT_SUBSETS[subset](module).populate())
|
facts.update(FACT_SUBSETS[subset](module,
|
||||||
|
load_on_init=False,
|
||||||
|
cached_facts=facts).populate())
|
||||||
return facts
|
return facts
|
||||||
|
|
||||||
def get_all_facts(module):
|
def get_all_facts(module):
|
||||||
|
|
Loading…
Reference in a new issue