mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 21:00:22 -07:00
Add 2.0-2.3 facts api compat (ansible_facts(), get_all_facts()) (#27294)
* Add 2.0-2.3 facts api compat (ansible_facts(), get_all_facts()) These are intended to provide compatibilty for modules that use 'ansible.module_utils.facts.ansible_facts' and 'ansible.module_utils.facts.get_all_facts' from 2.0-2.3 facts API. Fixes #25686 Some related changes/fixes needed to provide the compat api: * rm ansible.constants import from module_utils.facts.compat Just use a hard coded default for gather_subset/gather_timeout instead of trying to load it from non existent config if the module params dont include it. * include 'external' collectors in compat ansible_facts() * Add facter/ohai back to the valid collector classes facter/ohai had gotten removed from the default_collectors class used as the default list for all_collector_classes by setup.py and compat.py That made gather_subset['facter'] fail.
This commit is contained in:
parent
3db768f393
commit
17ab546c48
6 changed files with 157 additions and 3 deletions
|
@ -293,3 +293,21 @@ class TestMinimalCollectedFacts(TestCollectedFacts):
|
|||
expected_facts = ['gather_subset',
|
||||
'module_setup']
|
||||
not_expected_facts = ['lsb']
|
||||
|
||||
|
||||
class TestFacterCollectedFacts(TestCollectedFacts):
|
||||
gather_subset = ['!all', 'facter']
|
||||
min_fact_count = 1
|
||||
max_fact_count = 10
|
||||
expected_facts = ['gather_subset',
|
||||
'module_setup']
|
||||
not_expected_facts = ['lsb']
|
||||
|
||||
|
||||
class TestOhaiCollectedFacts(TestCollectedFacts):
|
||||
gather_subset = ['!all', 'ohai']
|
||||
min_fact_count = 1
|
||||
max_fact_count = 10
|
||||
expected_facts = ['gather_subset',
|
||||
'module_setup']
|
||||
not_expected_facts = ['lsb']
|
||||
|
|
|
@ -155,6 +155,30 @@ class TestCollectorClassesFromGatherSubset(unittest.TestCase):
|
|||
self.assertIsInstance(res, list)
|
||||
self.assertEqual(res, [default_collectors.EnvFactCollector])
|
||||
|
||||
def test_facter(self):
|
||||
res = self._classes(all_collector_classes=default_collectors.collectors,
|
||||
gather_subset=set(['env', 'facter']))
|
||||
self.assertIsInstance(res, list)
|
||||
self.assertEqual(set(res),
|
||||
set([default_collectors.EnvFactCollector,
|
||||
default_collectors.FacterFactCollector]))
|
||||
|
||||
def test_facter_ohai(self):
|
||||
res = self._classes(all_collector_classes=default_collectors.collectors,
|
||||
gather_subset=set(['env', 'facter', 'ohai']))
|
||||
self.assertIsInstance(res, list)
|
||||
self.assertEqual(set(res),
|
||||
set([default_collectors.EnvFactCollector,
|
||||
default_collectors.FacterFactCollector,
|
||||
default_collectors.OhaiFactCollector]))
|
||||
|
||||
def test_just_facter(self):
|
||||
res = self._classes(all_collector_classes=default_collectors.collectors,
|
||||
gather_subset=set(['facter']))
|
||||
self.assertIsInstance(res, list)
|
||||
self.assertEqual(set(res),
|
||||
set([default_collectors.FacterFactCollector]))
|
||||
|
||||
def test_collector_specified_multiple_times(self):
|
||||
res = self._classes(all_collector_classes=default_collectors.collectors,
|
||||
gather_subset=set(['platform', 'all', 'machine']))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue