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)
pull/9381/head
Felix Geyer 10 years ago
parent 616d749ab3
commit ee5f5ee00d

@ -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):

Loading…
Cancel
Save