Skip to content

Commit 455f4e0

Browse files
authored
Merge pull request #129 from Hedius/128-windows-virtual-fact
#128 windows virtual fact support for proxmox/qemu
2 parents 1118a1b + 8e7c3e1 commit 455f4e0

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

lib/facter/resolvers/windows/virtualization.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def determine_hypervisor_by_manufacturer(comp)
4949
'hyperv'
5050
elsif /^Xen/.match?(manufacturer)
5151
'xen'
52-
elsif /^Amazon EC2/.match?(manufacturer)
52+
elsif /^(Amazon EC2|QEMU)/.match?(manufacturer)
5353
'kvm'
5454
else
5555
'physical'

spec/facter/resolvers/windows/virtualization_spec.rb

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,26 @@
181181
end
182182
end
183183

184+
describe '#resolve Proxmox/QEMU VM' do
185+
before do
186+
allow(win32ole).to receive(:Model).and_return(model)
187+
allow(win32ole).to receive(:Manufacturer).and_return(manufacturer)
188+
allow(win32ole).to receive(:OEMStringArray).and_return('')
189+
end
190+
191+
let(:query_result) { [win32ole] }
192+
let(:model) { 'Standard PC (i440FX + PIIX, 1996)' }
193+
let(:manufacturer) { 'QEMU' }
194+
195+
it 'detects virtual machine model' do
196+
expect(Facter::Resolvers::Windows::Virtualization.resolve(:virtual)).to eql('kvm')
197+
end
198+
199+
it 'detects that is virtual' do
200+
expect(Facter::Resolvers::Windows::Virtualization.resolve(:is_virtual)).to be(true)
201+
end
202+
end
203+
184204
describe '#resolve Physical Machine' do
185205
before do
186206
allow(win32ole).to receive(:Model).and_return(model)

0 commit comments

Comments
 (0)