Richard W.M. Jones [Mon, 22 Aug 2016 11:30:25 +0000 (12:30 +0100)]
Add detection of Red Hat Enterprise Virtualization hypervisor (RHBZ#1249438).
Thanks: Xianghua Chen
Richard W.M. Jones [Mon, 20 Jun 2016 12:14:53 +0000 (13:14 +0100)]
Update the previous commit to use <system>-<virt> standard for facts.
Also I renamed ppc64 to power, since that is the official IBM name.
Adrian Likins [Mon, 20 Jun 2016 11:57:27 +0000 (12:57 +0100)]
Add support for detecting ppc64 LPAR as virt guests.
https://bugzilla.redhat.com/show_bug.cgi?id=1072524#c13
Andrew Jones [Tue, 27 Oct 2015 17:16:04 +0000 (18:16 +0100)]
qemu/kvm: dmidecode: look for 'KVM'
We can check the product name for 'KVM' to determine if we're
accelerated. This only works for arm/aarch64 targets boot with
AAVMF and on RHEL x86 targets (which already have KVM in the cpuid
leaf), but it doesn't hurt to try on all.
Andrew Jones [Tue, 27 Oct 2015 17:16:03 +0000 (18:16 +0100)]
qemu/kvm: try dmidecode on all targets
Looking at "$dmi" on targets that don't support dmidecode is
harmless. Furthermore it works, not only for arm targets, but
also pc, so move it out of the 'if arm' block.
Andrew Jones [Tue, 27 Oct 2015 17:16:02 +0000 (18:16 +0100)]
trivial: virt-what.in doesn't use tabs
Richard W.M. Jones [Mon, 3 Aug 2015 11:23:13 +0000 (12:23 +0100)]
Add oVirt (RHBZ#1249438).
Andrew Jones [Tue, 22 Sep 2015 16:29:08 +0000 (18:29 +0200)]
trivial: comment fixup
dmidecode does now exist on non-PC architectures.
Andrew Jones [Tue, 22 Sep 2015 13:54:55 +0000 (15:54 +0200)]
Add QEMU/KVM detection for ACPI-boot ARM
Detect QEMU/KVM on ARM guests that have been boot with ACPI, i.e.
without device tree. When boot with ACPI SMBIOS is populated, so we
can use dmidecode.
Signed-off-by: Andrew Jones <drjones@redhat.com>
Richard W.M. Jones [Mon, 3 Aug 2015 11:23:05 +0000 (12:23 +0100)]
Update copyright years.
Richard W.M. Jones [Tue, 21 Apr 2015 11:12:45 +0000 (12:12 +0100)]
xen-arm: Fix path in EXTRA_DIST.
Andrew Jones [Fri, 27 Mar 2015 20:19:00 +0000 (21:19 +0100)]
Add ARM support
Currently only detects LKVM, QEMU/KVM, and Xen. Also only works if
the guest is booted with DT (which is the only way that currently
exists).
Signed-off-by: Andrew Jones <drjones@redhat.com>
Andrew Jones [Fri, 27 Mar 2015 20:18:59 +0000 (21:18 +0100)]
Add lkvm detection
Signed-off-by: Andrew Jones <drjones@redhat.com>
Richard W.M. Jones [Tue, 16 Sep 2014 18:02:18 +0000 (19:02 +0100)]
Add space before parens in function defns for readability.
A. Gordon [Mon, 15 Sep 2014 19:51:50 +0000 (15:51 -0400)]
build: use portable Makefile variables
* Makefile.am: use '$?' instead of '$<'
$< in a non-inference rule is a GNU-make extension, which fails with
BSD make.
Assaf Gordon [Mon, 15 Sep 2014 19:34:06 +0000 (19:34 +0000)]
virt-what.in: make option processing portable
Replace linux-specific 'getopt' usage with manual option parsing.
Because the used option are version simple (help/version) and the only
additional option is undocumented (--test-root), it's easy remove the
'getopt' usage, and make this script portable to BSD systems.
Assaf Gordon [Mon, 15 Sep 2014 19:15:19 +0000 (19:15 +0000)]
virt-what.in: verify files exists before grepping them
Don't grep linux-specific files (e.g. /proc/cpuinfo) unless they exist.
This avoids extraneous errors on BSD/Hurd systems which don't have these
files.
Assaf Gordon [Mon, 15 Sep 2014 19:08:20 +0000 (19:08 +0000)]
virt-what.in: warn about missing cpuid-virt helper program
Try to find the binary program on the $PATH, and give informative error
message if it wasn't found.
Assaf Gordon [Mon, 15 Sep 2014 18:58:19 +0000 (18:58 +0000)]
virt-what.in: get effective uid in a portable way
$EUID is bash-specific. Use the POSIX-compatible 'id -u' instead.
A. Gordon [Mon, 15 Sep 2014 18:48:23 +0000 (14:48 -0400)]
virt-what.in: remove bash-ism
Use '/bin/sh' instead of '/bin/bash', with POSIX-compatible function
definitions.
Charles Nguyen [Sun, 22 Jun 2014 04:43:05 +0000 (23:43 -0500)]
Added documentation for Docker tests
Charles Nguyen [Sun, 22 Jun 2014 03:27:51 +0000 (22:27 -0500)]
Added check and test routines for Docker
Richard W.M. Jones [Tue, 20 May 2014 09:50:39 +0000 (10:50 +0100)]
Fix spelling mistake in the man page (RHBZ#1099289).
Richard W.M. Jones [Thu, 12 Dec 2013 08:47:37 +0000 (08:47 +0000)]
Fix various typos and mistakes in comments.
(Thanks Robert P. J. Day)
Richard W.M. Jones [Mon, 28 Oct 2013 11:09:24 +0000 (11:09 +0000)]
xen: Don't emit warning message if /proc/xen/capabilities file does not exist.
On Amazon EC2:
xen
grep: /proc/xen/capabilities: No such file or directory
xen-domU
The warning is harmless but should not be printed.
Thanks: Can Zhang for testing.
nodata [Mon, 2 Sep 2013 15:59:32 +0000 (16:59 +0100)]
Detect new Xen VMs (RHBZ#973663).
Elan Ruusamäe [Mon, 2 Sep 2013 14:24:11 +0000 (15:24 +0100)]
Differentiate between vserver host and guest.
RWMJ: Update documentation and tests.
Richard W.M. Jones [Mon, 29 Jul 2013 14:21:05 +0000 (15:21 +0100)]
Version 1.13.
Richard W.M. Jones [Mon, 29 Jul 2013 14:20:52 +0000 (15:20 +0100)]
Ignore automake parallel-test files.
Richard W.M. Jones [Wed, 17 Apr 2013 19:19:16 +0000 (20:19 +0100)]
Add lxc to virt-what man page.
Marc Fournier [Tue, 16 Apr 2013 20:20:32 +0000 (22:20 +0200)]
Be consistent with variable quoting and braces
Marc Fournier [Tue, 16 Apr 2013 20:20:31 +0000 (22:20 +0200)]
Remove reference to /sbin/id from Makefile
This was left out from
8aa72773.
Marc Fournier [Tue, 16 Apr 2013 20:20:30 +0000 (22:20 +0200)]
Add detection for LXC + tests
Todd Zullinger [Tue, 2 Apr 2013 15:16:25 +0000 (11:16 -0400)]
Direct output from fail() to stderr
This allows callers to more easily differentiate valid output from
errors. A recent example is facter. When calling virt-what for its
virtual fact, it gets 'virt-what: this script must be run as root' as
the fact value when run as non-root:
$ facter | grep ^virtual
virtual => virt-what: this script must be run as root
This is mildly related to RHBZ #719611¹.
¹ https://bugzilla.redhat.com/show_bug.cgi?id=719611
Masaki Kimura [Tue, 18 Sep 2012 07:56:52 +0000 (08:56 +0100)]
Change dmidecode detection of Hitachi Virtage.
Hitachi plans to change dmidecode output in the future release of
Virtage. By this change, some of Virtage models will not output "HVM"
before LPAR in "Product Name" field, which current virt-what code uses
to detect Virtage. Therefore we need to change Virtage check routine.
Sami Kerola [Thu, 19 Jul 2012 06:54:29 +0000 (08:54 +0200)]
Update GNU license FSF address
The file is copied as is from GNU web site.
Reference: http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Reference: http://lists.gnu.org/archive/html/freefont-announce/2005-04/msg00001.html
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Sami Kerola [Thu, 19 Jul 2012 06:29:44 +0000 (08:29 +0200)]
Retire private id executables
The main script is setting PATH to use id executable from rather
strange directory. That allowed checks to run without root
privilege. This change will make detection whether test run is
been requested more universal, and to work without super setting
id command.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
RWMJ:
- Use -ne instead of != to compare integers.
Sami Kerola [Wed, 18 Jul 2012 19:27:42 +0000 (21:27 +0200)]
Disallow use of unset variables
Use of unset variable should be considered as bug, which means there
has to be sensible defaults. For $skip_qemu_kvm the default, or later
setting, is a binary named 'true' or 'false' which is executed at it
clause.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Sami Kerola [Wed, 18 Jul 2012 19:13:29 +0000 (21:13 +0200)]
Remove bash backtick command substitution
The $(command) is more flexible as it allows nesting and easier to
read, than `command` notation.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Sami Kerola [Wed, 18 Jul 2012 19:03:08 +0000 (21:03 +0200)]
man: detect with autotools if pod2man is present
When pod2man is not present build will skip the manual. Earlier the
condition caused make error, and empty manual page.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
RWMJ:
- Generate virt-what.txt conditionally too (uses pod2text).
Richard W.M. Jones [Fri, 25 May 2012 19:47:22 +0000 (20:47 +0100)]
doc: Add note about use of this tool for system tuning.
Richard W.M. Jones [Sat, 17 Mar 2012 13:23:29 +0000 (13:23 +0000)]
Version 1.12.
Richard W.M. Jones [Sat, 17 Mar 2012 10:32:39 +0000 (10:32 +0000)]
Preserve %ebx across CPUID when using PIE (thanks Faustus, Anthony Basile from Gentoo).
PIE on i686 uses %ebx as a base register. Don't clobber it across the
CPUID instruction.
https://bugs.gentoo.org/show_bug.cgi?id=341271
https://bugzilla.redhat.com/show_bug.cgi?id=804282
Richard W.M. Jones [Fri, 27 May 2011 11:28:28 +0000 (12:28 +0100)]
IA64 Xen HVM should print 'xen-hvm' not 'xen-domU'.
This updates commit
3ea952163f0c28cd88f8473bb015df892c4247bf.
Richard W.M. Jones [Fri, 27 May 2011 11:17:50 +0000 (12:17 +0100)]
Version 1.11.
Richard W.M. Jones [Thu, 26 May 2011 12:24:56 +0000 (13:24 +0100)]
Add regression test for RHEL 5.7beta Xen HVM guest on IA64 architecture.
See also:
https://bugzilla.redhat.com/show_bug.cgi?id=707508
Thanks Alexander Todorov for access to the hardware.
Richard W.M. Jones [Thu, 26 May 2011 14:40:59 +0000 (15:40 +0100)]
Add IA64-specific tests for virtualization (RHBZ#707508).
Xen IA64 HVM does not provide a simple way to detect the
hypervisor.
If we are lucky and PV-on-HVM drivers are installed and loaded,
then there will be a /sys/bus/xen directory.
Otherwise we add a timing attack to see if we can detect generic
virtualization. Since this is a big hack, it is only enabled on IA64
and only used when all other methods of detection have failed.
This commit also adds `uname -p` to all tests (enabling arch detection
so we only run the above tests on IA64).
Richard W.M. Jones [Wed, 25 May 2011 10:26:06 +0000 (11:26 +0100)]
Version 1.10.
Richard W.M. Jones [Wed, 25 May 2011 10:04:07 +0000 (11:04 +0100)]
Add regression test for kvm with explicit -cpu core2duo option.
Richard W.M. Jones [Wed, 25 May 2011 10:13:50 +0000 (11:13 +0100)]
Fix for KVM with explicit -cpu model parameter.
Richard W.M. Jones [Wed, 25 May 2011 10:04:28 +0000 (11:04 +0100)]
Use $(TESTS) in $(EXTRA_DIST) instead of duplicating list.
This is just rearrangement of the file.
Richard W.M. Jones [Thu, 21 Apr 2011 08:49:36 +0000 (09:49 +0100)]
Add a regression test for IBM PowerVM Lx86 emulator (thanks Yufang Zhang).
Data was collected by RWMJ from IBM eServer BladeCenter JS12 server,
running a PowerVM Lx86 Virtual x86 Environment (VxE) guest.
Richard W.M. Jones [Wed, 9 Mar 2011 11:37:35 +0000 (11:37 +0000)]
docs: Document that SIGPIPE should not be masked when running virt-what.
Richard W.M. Jones [Tue, 8 Mar 2011 12:34:24 +0000 (12:34 +0000)]
Version 1.9.
Richard W.M. Jones [Wed, 2 Mar 2011 07:42:44 +0000 (07:42 +0000)]
docs: Document the exit status of the script.
Richard W.M. Jones [Tue, 1 Feb 2011 14:46:25 +0000 (14:46 +0000)]
Add note about dmidecode on non-PC architectures (thanks Matt Booth).
Richard W.M. Jones [Mon, 31 Jan 2011 16:27:17 +0000 (16:27 +0000)]
Version 1.8.
Justin Clift [Mon, 31 Jan 2011 16:26:02 +0000 (16:26 +0000)]
Update Parallels Desktop test files.
Richard W.M. Jones [Mon, 31 Jan 2011 12:35:56 +0000 (12:35 +0000)]
Various improvements to the manual page (RHBZ#672285).
Richard W.M. Jones [Wed, 26 Jan 2011 23:39:40 +0000 (23:39 +0000)]
Confirm Microsoft Hyper-V, and add a regression test.
Data collected from a RHEL 5.6 guest running on Hyper-V.
Also this modifies the VirtualPC test slightly to distinguish
it from Hyper-V. We require more data from a real VirtualPC
guest to properly refine this test.
Richard W.M. Jones [Mon, 24 Jan 2011 11:18:58 +0000 (11:18 +0000)]
Add virt-what to CLEANFILES.
Richard W.M. Jones [Mon, 24 Jan 2011 11:16:53 +0000 (11:16 +0000)]
Add a regression test for Parallels Desktop (thanks Justin Clift).
Richard W.M. Jones [Mon, 24 Jan 2011 11:03:42 +0000 (11:03 +0000)]
cpuid: Find other leaf entries (RHBZ#671510).
Richard W.M. Jones [Mon, 24 Jan 2011 10:27:52 +0000 (10:27 +0000)]
Add Parallels Virtual Platform (thanks Justin Clift).
Richard W.M. Jones [Thu, 20 Jan 2011 16:16:08 +0000 (16:16 +0000)]
Version 1.7.
Richard W.M. Jones [Thu, 20 Jan 2011 16:13:24 +0000 (16:13 +0000)]
README: Document how to build from git.
Richard W.M. Jones [Thu, 20 Jan 2011 15:57:59 +0000 (15:57 +0000)]
Add /sys/hypervisor test files from RHEL 5 Xen Dom0.
Richard W.M. Jones [Thu, 20 Jan 2011 16:17:58 +0000 (16:17 +0000)]
Add tests/zvm/proc/sysinfo to EXTRA_DIST.
This updates commit
36529e78a60a1c4097e7fe8fa4f3971f8581d864.
Richard W.M. Jones [Thu, 20 Jan 2011 16:00:59 +0000 (16:00 +0000)]
Add /sys/hypervisor files from RHEL 5 Xen DomU to EXTRA_DIST.
This updates commit
55cf13ae4a00c30b55fe508f544406dce05bdb8d.
Richard W.M. Jones [Thu, 20 Jan 2011 15:38:30 +0000 (15:38 +0000)]
Add support for Linux kernels with pv_ops running on Xen.
These would be found for example on Amazon EC2 or Citrix Xen.
This also adds all the extra files found under /sys/hypervisor
on this platform.
Richard W.M. Jones [Thu, 20 Jan 2011 14:42:19 +0000 (14:42 +0000)]
Add additional facts about IBM SystemZ mainframes (thanks Dan Horák).
Add /proc/sysinfo from a real z/VM guest.
This file can in theory be used to detect the following three
arrangements:
(1) Linux running in z/VM on an LPAR.
(2) Linux running directly on an LPAR.
(3) Linux running directly on baremetal (very unlikely!)
Only arrangement (1) has been tested.
Richard W.M. Jones [Thu, 20 Jan 2011 13:49:31 +0000 (08:49 -0500)]
Add test for z/VM on IBM SystemZ mainframes (thanks Dan Horák).
Richard W.M. Jones [Wed, 19 Jan 2011 18:43:53 +0000 (18:43 +0000)]
Version 1.6.
Richard W.M. Jones [Wed, 19 Jan 2011 18:47:45 +0000 (18:47 +0000)]
Add missing files to EXTRA_DIST.
Richard W.M. Jones [Wed, 19 Jan 2011 18:43:38 +0000 (18:43 +0000)]
man page: Refresh section on reporting bugs.
Richard W.M. Jones [Wed, 19 Jan 2011 18:28:33 +0000 (18:28 +0000)]
Add regression test for RHEL 5 Xen DomU HVM (aka full virtualization).
Richard W.M. Jones [Wed, 19 Jan 2011 17:53:24 +0000 (17:53 +0000)]
Add regression test for Linux-VServer (thanks Barış Metin).
Richard W.M. Jones [Wed, 19 Jan 2011 17:33:29 +0000 (17:33 +0000)]
Add regression test for RHEL 5 Xen DomU paravirt.
Richard W.M. Jones [Wed, 19 Jan 2011 16:22:48 +0000 (16:22 +0000)]
Add regression test for RHEL 5 Xen Dom0.
Richard W.M. Jones [Wed, 19 Jan 2011 16:21:23 +0000 (16:21 +0000)]
Fix tests: Add /proc/self/status to test roots.
Note that in two cases (esx4.1, qemu) this is an empty
file because we haven't collected this data yet.
Barış Metin [Wed, 19 Jan 2011 15:08:23 +0000 (15:08 +0000)]
Add support for detecting Linux VServer.
Richard W.M. Jones [Wed, 19 Jan 2011 11:09:52 +0000 (11:09 +0000)]
docs: Make it clear that 'qemu' is software emulation (thanks Eduardo Habkost).
Richard W.M. Jones [Tue, 18 Jan 2011 22:29:43 +0000 (22:29 +0000)]
Update README with information for potential contributors.
Richard W.M. Jones [Tue, 18 Jan 2011 21:23:37 +0000 (21:23 +0000)]
Version 1.5.
Also update instructions in README to cover running make check
and running virt-what locally as root.
Richard W.M. Jones [Tue, 18 Jan 2011 17:40:26 +0000 (17:40 +0000)]
Add test files to EXTRA_DIST.
Richard W.M. Jones [Tue, 18 Jan 2011 17:36:30 +0000 (17:36 +0000)]
Add tests for KVM and QEMU.
The data is taken from a RHEL 6.0 guest running on a Fedora 14 host
(x86_64 in both cases), using qemu-kvm and qemu-system-x86_64
respectively.
qemu-kvm-0.13.0-1.fc14.x86_64
qemu-system-x86-0.13.0-1.fc14.x86_64
Richard W.M. Jones [Tue, 18 Jan 2011 17:11:29 +0000 (17:11 +0000)]
Add test for VMware with data from ESX 4.1 (thanks Matthew Booth).
Richard W.M. Jones [Tue, 18 Jan 2011 17:03:36 +0000 (17:03 +0000)]
Add a test for baremetal.
This modifies the virt-what script slightly so that a test
root can be passed, which causes all tests to be run relative
to that root directory (similar to a chroot).
We then provide a root directory with just enough files in it
to convince virt-what that it is a baremetal machine.
Note that the data in the files is completely real. We do
not intend to add a test unless we can get data from the
real system.
Richard W.M. Jones [Tue, 18 Jan 2011 15:42:48 +0000 (15:42 +0000)]
Version 1.4.
Richard W.M. Jones [Tue, 18 Jan 2011 15:35:16 +0000 (15:35 +0000)]
Update copyright and link in man page.
Richard W.M. Jones [Tue, 18 Jan 2011 15:34:07 +0000 (15:34 +0000)]
Set LANG=C when running external dmidecode command.
Richard W.M. Jones [Tue, 18 Jan 2011 15:32:01 +0000 (15:32 +0000)]
Add detection of Hitachi Virtualization Manager (HVM) Virtage LPAR.
Data supplied by Bhavna Sarathy. Not confirmed.
Richard W.M. Jones [Mon, 17 Jan 2011 10:35:31 +0000 (10:35 +0000)]
Add detection of IBM PowerVM Lx86 Linux/x86 emulator.
Richard W.M. Jones [Wed, 15 Dec 2010 19:54:15 +0000 (19:54 +0000)]
Detect Microsoft Hyper-V.
Based on a description on MSDN:
http://blogs.msdn.com/b/sqlosteam/archive/2010/10/30/is-this-real-the-metaphysics-of-hardware-virtualization.aspx
Not tested. Hyper-V also supports more detail through the CPUID
instruction, which we don't yet display.
Richard W.M. Jones [Tue, 19 Oct 2010 08:31:56 +0000 (09:31 +0100)]
Version 1.3.
Richard W.M. Jones [Mon, 18 Oct 2010 19:02:21 +0000 (20:02 +0100)]
xen: More reliable differentiation of dom0 and domU.
Richard Jones [Thu, 1 Jul 2010 18:26:26 +0000 (19:26 +0100)]
Check for VMWare using the CPUID (thanks: Chetan Loke).
Richard Jones [Wed, 30 Dec 2009 12:15:25 +0000 (12:15 +0000)]
Install virt-what in $sbindir since the script should only be run by root (suggested by Laurent Léonard)
Richard Jones [Thu, 17 Dec 2009 17:18:41 +0000 (17:18 +0000)]
Prepare for 1.2.
Richard Jones [Thu, 17 Dec 2009 17:17:49 +0000 (17:17 +0000)]
vmware status confirmed by RWMJ on ESX 4.0