Commit 504995bd by Brian Coca

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

this opens the ability to do specific facts at much lower cost.
parent 0f2f022b
...@@ -46,7 +46,7 @@ except ImportError: ...@@ -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): ...@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment