1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

allow fact objects to be instantiated w/o triggering all fact collection

this opens the ability to do specific facts at much lower cost.
This commit is contained in:
Brian Coca 2014-11-13 18:32:27 -05:00
parent 0f2f022bb0
commit 504995bda2

View file

@ -46,7 +46,7 @@ except ImportError:
import simplejson as json import simplejson as json
# -------------------------------------------------------------- # --------------------------------------------------------------
# timeout function to make sure some fact gathering # timeout function to make sure some fact gathering
# steps do not exceed a time limit # steps do not exceed a time limit
class TimeoutError(Exception): class TimeoutError(Exception):
@ -118,20 +118,23 @@ class Facts(object):
{ 'path' : '/usr/bin/pkg', 'name' : 'pkg' }, { 'path' : '/usr/bin/pkg', 'name' : 'pkg' },
] ]
def __init__(self): def __init__(self, load_on_init=True):
self.facts = {} self.facts = {}
self.get_platform_facts()
self.get_distribution_facts() if load_on_init:
self.get_cmdline() self.get_platform_facts()
self.get_public_ssh_host_keys() self.get_distribution_facts()
self.get_selinux_facts() self.get_cmdline()
self.get_fips_facts() self.get_public_ssh_host_keys()
self.get_pkg_mgr_facts() self.get_selinux_facts()
self.get_lsb_facts() self.get_fips_facts()
self.get_date_time_facts() self.get_pkg_mgr_facts()
self.get_user_facts() self.get_lsb_facts()
self.get_local_facts() self.get_date_time_facts()
self.get_env_facts() self.get_user_facts()
self.get_local_facts()
self.get_env_facts()
def populate(self): def populate(self):
return self.facts return self.facts