Commit ee5f5ee0 by Felix Geyer

Detect kvm guests through sys_vendor.

The two detection methods currently implemented do not cover all cases.

For example qemu guests invoked like this:
qemu -machine pc-i440fx-1.4,accel=kvm -cpu SandyBridge

return this information:
product_name: Standard PC (i440FX + PIIX, 1996)
cpuinfo: model name      : Intel Xeon E312xx (Sandy Bridge)
parent 616d749a
...@@ -2157,6 +2157,11 @@ class LinuxVirtual(Virtual): ...@@ -2157,6 +2157,11 @@ class LinuxVirtual(Virtual):
self.facts['virtualization_role'] = 'guest' self.facts['virtualization_role'] = 'guest'
return return
if sys_vendor == 'QEMU':
self.facts['virtualization_type'] = 'kvm'
self.facts['virtualization_role'] = 'guest'
return
if os.path.exists('/proc/self/status'): if os.path.exists('/proc/self/status'):
for line in open('/proc/self/status').readlines(): for line in open('/proc/self/status').readlines():
if re.match('^VxID: \d+', line): if re.match('^VxID: \d+', line):
......
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