Facter::Resolvers::VirtWhat.resolve(:vm) == 'vmware' || https://github.com/puppetlabs/facter/blob/8a3accd247940750e60f1fdc93c4f20c71b070a3/lib/facts/linux/virtual.rb#L44 == 'vmware' ||
Facter::Resolvers::Lspci.resolve(:vm) == 'vmware' ||
Facter::Resolvers::Linux::DmiBios.resolve(:sys_vendor) == "VMware, Inc."
For vmware version dmidecode command must be called and retrieve /^Address:\s([0-9A-F]+)/ (this regex should probably be improved) from it
On vmpooler
facter facterversion hypervisors
facterversion => 3.14.11
hypervisors => {
vmware => {
version => ""
}