virtual.rb

Path: lib/facter/virtual.rb
Last Update: Sun May 19 07:17:49 +0000 2013

Fact: virtual

Purpose: Determine if the system‘s hardware is real or virtualised.

Resolution:

  Assumes physical unless proven otherwise.

  On Darwin, use the macosx util module to acquire the SPDisplaysDataType,
  from that parse it to see if it's VMWare or Parallels pretending to be the
  display.

  On Linux, BSD, Solaris and HPUX:
  Much of the logic here is obscured behind util/virtual.rb, which rather
  than document here, which would encourage drift, just refer to it.
  The Xen tests in here rely on /sys and /proc, and check for the presence and
  contents of files in there.
  If after all the other tests, it's still seen as physical, then it tries to
  parse the output of the "lspci", "dmidecode" and "prtdiag" and parses them
  for obvious signs of being under VMWare, Parallels or VirtualBox.
  Finally it checks for the existence of vmware-vmx, which would hint it's
  VMWare.

Caveats:

  Many checks rely purely on existence of files.

Required files

facter/util/virtual   facter/util/macosx  

[Validate]