diff --git a/setup b/setup index eea5d2e18c9..fee9bad03ab 100755 --- a/setup +++ b/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)