From 50ef1bb93fcefabaebc342b0ad9e4b5d8050fa49 Mon Sep 17 00:00:00 2001 From: Dag Wieers Date: Wed, 30 May 2012 14:23:52 +0200 Subject: [PATCH] Add BIOS information and fix VMware detection (supports both IDE and SCSI disks) --- library/setup | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/library/setup b/library/setup index 6e6f0c3e76..0729612591 100755 --- a/library/setup +++ b/library/setup @@ -48,7 +48,9 @@ DMI_DICT = { 'form_factor': '/sys/devices/virtual/dmi/id/chassis_type', 'product_serial': '/sys/devices/virtual/dmi/id/product_serial', 'product_uuid': '/sys/devices/virtual/dmi/id/product_uuid', 'product_version': '/sys/devices/virtual/dmi/id/product_version', - 'system_vendor': '/sys/devices/virtual/dmi/id/sys_vendor' } + 'system_vendor': '/sys/devices/virtual/dmi/id/sys_vendor', + 'bios_date': '/sys/devices/virtual/dmi/id/bios_date', + 'bios_version': '/sys/devices/virtual/dmi/id/bios_version' } # From smolt and DMI spec FORM_FACTOR = [ "Unknown", "Other", "Unknown", "Desktop", "Low Profile Desktop", "Pizza Box", "Mini Tower", "Tower", @@ -186,7 +188,7 @@ def get_linux_virtual_facts(facts): facts['virtualization_type'] = 'VMware' facts['virtualization_role'] = 'host' # You can spawn a dmidecode process and parse that or infer from devices - for dev_model in glob.glob('/proc/ide/hd*/model'): + for dev_model in glob.glob('/sys/block/?da/device/vendor'): info = open(dev_model).read() if 'VMware' in info: facts['virtualization_type'] = 'VMware'