Add pkg_mgr fact to setup

This should help facilitate playbook decision making that are not
strictly distribution specific, but more package manager.
This commit is contained in:
Stephen Fromm 2012-09-14 11:25:23 -07:00
parent 974aad0125
commit 6e7b94ad32

11
setup
View file

@ -54,6 +54,10 @@ class Facts(object):
'/etc/vmware-release': 'VMwareESX' }
SELINUX_MODE_DICT = { 1: 'enforcing', 0: 'permissive', -1: 'disabled' }
PKG_MGR_DICT = { '/usr/bin/yum' : 'yum',
'/usr/bin/apt-get' : 'apt',
'/usr/bin/zypper' : 'zypper' }
def __init__(self):
self.facts = {}
self.get_platform_facts()
@ -61,6 +65,7 @@ class Facts(object):
self.get_cmdline()
self.get_public_ssh_host_keys()
self.get_selinux_facts()
self.get_pkg_mgr_facts()
def populate(self):
return self.facts
@ -133,6 +138,12 @@ class Facts(object):
else:
self.facts['ssh_host_key_rsa_public'] = rsa.split()[1]
def get_pkg_mgr_facts(self):
self.facts['pkg_mgr'] = 'unknown'
for (path, name) in Facts.PKG_MGR_DICT.items():
if os.path.exists(path):
self.facts['pkg_mgr'] = name
def get_selinux_facts(self):
if not HAVE_SELINUX:
self.facts['selinux'] = False