small patch to fact gathering for when no dmesg.boot exists on freebsd, mainly happens in jails

Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
reviewable/pr18780/r1
Brian Coca 12 years ago committed by Michael DeHaan
parent d9578c0e2e
commit 7ba232479e

11
setup

@ -438,13 +438,22 @@ class FreeBSDHardware(Hardware):
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = cmd.communicate()
self.facts['processor_count'] = out.strip()
for line in open(FreeBSDHardware.DMESG_BOOT).readlines():
try:
dmesg_boot = open(FreeBSDHardware.DMESG_BOOT)
except IOError:
dmesg_cmd = subprocess.Popen("/sbin/dmesg", shell=True,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
dmesg_boot,dmesg_err = dmesg_cmd.communicate()
for line in dmesg_boot.readlines():
if 'CPU:' in line:
cpu = re.sub(r'CPU:\s+', r"", line)
self.facts['processor'].append(cpu.strip())
if 'Logical CPUs per core' in line:
self.facts['processor_cores'] = line.split()[4]
def get_memory_facts(self):
cmd = subprocess.Popen("/sbin/sysctl vm.stats", shell=True,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)

Loading…
Cancel
Save