/usr/lib/ruby/vendor_ruby/ohai/plugins/openbsd/virtualization.rb is in ohai 8.4.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | #
# Author:: Bryan McLellan (btm@loftninjas.org)
# Copyright:: Copyright (c) 2009 Bryan McLellan
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
Ohai.plugin(:Virtualization) do
provides "virtualization"
collect_data(:openbsd) do
virtualization Mash.new
# KVM Host support for FreeBSD is in development
# http://feanor.sssup.it/~fabio/freebsd/lkvm/
# Detect KVM/QEMU from cpu, report as KVM
# hw.model: QEMU Virtual CPU version 0.9.1
so = shell_out("sysctl -n hw.model")
if so.stdout.split($/)[0] =~ /QEMU Virtual CPU/
virtualization[:system] = "kvm"
virtualization[:role] = "guest"
end
# http://www.dmo.ca/blog/detecting-virtualization-on-linux
if File.exists?("/usr/local/sbin/dmidecode")
so = shell_out("dmidecode")
found_virt_manufacturer = nil
found_virt_product = nil
so.stdout.lines do |line|
case line
when /Manufacturer: Microsoft/
found_virt_manufacturer = "microsoft"
when /Product Name: Virtual Machine/
found_virt_product = "microsoft"
when /Version: 5.0/
if found_virt_manufacturer == "microsoft" && found_virt_product == "microsoft"
virtualization[:system] = "virtualpc"
virtualization[:role] = "guest"
end
when /Version: VS2005R2/
if found_virt_manufacturer == "microsoft" && found_virt_product == "microsoft"
virtualization[:system] = "virtualserver"
virtualization[:role] = "guest"
end
when /Manufacturer: VMware/
found_virt_manufacturer = "vmware"
when /Product Name: VMware Virtual Platform/
if found_virt_manufacturer == "vmware"
virtualization[:system] = "vmware"
virtualization[:role] = "guest"
end
end
end
end
end
end
|