Richard W.M. Jones [Thu, 23 Jun 2022 13:42:02 +0000 (14:42 +0100)]
Version 1.24.
Richard W.M. Jones [Thu, 23 Jun 2022 13:38:55 +0000 (14:38 +0100)]
illumos-lx: Fix test so it works under virtualization
Tests need to provide dummy sbin/virt-what-cpuid-helper, dmidecode and
uname. This ensures that if we are running the test suite under (eg)
KVM, that virt-what doesn't discover this.
The failure was:
./test.sh: test failed because output did not match expected
Expected output was:
----------------------------------------
illumos-lx
----------------------------------------
But the actual output of the program was:
----------------------------------------
illumos-lx
kvm
----------------------------------------
Fixes: commit
763cf1b1123136751b71f475610c5ac1eeaba0ad
Richard W.M. Jones [Thu, 23 Jun 2022 12:43:20 +0000 (13:43 +0100)]
Version 1.23.
Steve Mokris [Thu, 12 May 2022 16:02:46 +0000 (12:02 -0400)]
Detect Illumos (SmartOS/OmniOS) LX virtualization
Thanks for the feedback, Eric and Richard. In this version, I've expunged the redundant cats and included the Makefile.am.
Richard W.M. Jones [Thu, 14 Apr 2022 12:51:49 +0000 (13:51 +0100)]
Version 1.22.
Richard W.M. Jones [Thu, 14 Apr 2022 12:51:13 +0000 (13:51 +0100)]
Add test file to EXTRA_DIST
Fixes: commit
1df728aa4b1d2814265f9c86494f7d55ee0cf9af
Richard W.M. Jones [Thu, 14 Apr 2022 12:50:46 +0000 (13:50 +0100)]
Add test file to EXTRA_DIST
Fixes: commit
7e679278431aa1a188dfe423526dfea82fddcbd3
Richard W.M. Jones [Thu, 22 Jul 2021 07:58:16 +0000 (08:58 +0100)]
Display kvm/qemu fact for Nutanix AHV
Since these are based on KVM we should display those facts too.
Thanks: Paolo Bonzini
Richard W.M. Jones [Mon, 19 Jul 2021 17:05:14 +0000 (18:05 +0100)]
Add detection of Red Hat's hypervisor
Red Hat sets the following fields in SMBIOS information, allowing us
to detect that it's the branded Red Hat hypervisor.
Manufacturer: Red Hat
Product Name: KVM
Version: RHEL 7.6.0 PC (i440FX + PIIX, 1996)
Note that "RHEL 7.6.0" there is the machine type, which is not the
same as the hypervisor version (although the two have a relationship).
Thanks: Timothy Smith at IBM, Karen Noel
Richard W.M. Jones [Mon, 19 Jul 2021 14:14:32 +0000 (15:14 +0100)]
Add Google Cloud (not tested)
Thanks: Paolo Bonzini
Weisson [Fri, 2 Jul 2021 09:06:07 +0000 (17:06 +0800)]
use official product name for alibaba cloud bare-metal instances
Weisson [Tue, 1 Jun 2021 12:49:17 +0000 (20:49 +0800)]
Check for Alibaba Cloud X-Dragon Architecture
Thanks to Richard W.M. Jones' Super Powerful Bash Script
Weisson [Thu, 27 May 2021 09:55:57 +0000 (10:55 +0100)]
Add test for Alibaba Cloud Linux
Weisson [Thu, 27 May 2021 09:53:08 +0000 (10:53 +0100)]
Add support for Alibaba Cloud Linux
Richard W.M. Jones [Wed, 26 May 2021 10:31:24 +0000 (11:31 +0100)]
aws: Match multi-digit version number in BIOS information
See: https://listman.redhat.com/archives/virt-tools-list/2021-May/msg00011.html
Reported-by: Stuart Cooper
Razvan Corneliu [Mon, 10 May 2021 20:02:27 +0000 (21:02 +0100)]
Add support for VMware ESXi on ARM
Virt-what doesn't recognize VMware VMs for AARCH64/ARM (with licensing
implications in ESXi Fling for ARM and Fusion v.Next for ARM). I've
created and attached a patch that adds both support for recognizing
ESXi and the automated tests for it.
Richard W.M. Jones [Mon, 19 Apr 2021 11:56:58 +0000 (12:56 +0100)]
Version 1.21.
Richard W.M. Jones [Tue, 13 Apr 2021 08:35:07 +0000 (09:35 +0100)]
Simplify and fix invocation of cpuid.
Fixes a crash on some platforms identified by Yongkui Guo in
https://bugzilla.redhat.com/show_bug.cgi?id=1756381#c15
Jordan Webb [Mon, 13 Apr 2020 21:41:30 +0000 (21:41 +0000)]
Add podman support
Ville Skyttä [Sun, 1 Dec 2019 06:21:32 +0000 (08:21 +0200)]
docker: Lookup from /proc/self/cgroup too
Refs https://github.com/moby/moby/issues/18355
Ville Skyttä [Sun, 1 Dec 2019 05:58:04 +0000 (07:58 +0200)]
docker: Check for /.dockerenv too
/.dockerinit may no longer exist.
Ref https://github.com/moby/moby/issues/18355
willem van de velde [Tue, 22 Oct 2019 10:58:01 +0000 (11:58 +0100)]
Fix incorrect detection of MS Surfacebook 2 as a virtual machine.
Richard W.M. Jones [Fri, 4 Oct 2019 17:30:01 +0000 (18:30 +0100)]
helper: Fix KVM signature.
Thanks: Paolo Bonzini.
Richard W.M. Jones [Fri, 4 Oct 2019 13:25:55 +0000 (16:25 +0300)]
Add support for Nutanix Acropolis Hypervisor (AHV) (RHBZ#1756381).
Thanks: Cristian Seres for providing access to a guest.
Richard W.M. Jones [Fri, 4 Oct 2019 12:57:42 +0000 (15:57 +0300)]
Fix virt-what-cpuid-helper.
The value returned in %eax is the max_entry (eg. 0x40000000
if there are no further leafs). However it is not reliable.
In addition if there are multiple leafs we should probably
only print the highest one.
Also use uint32_t instead of unsigned int.
Thanks: Paolo Bonzini.
Richard W.M. Jones [Thu, 3 Oct 2019 09:21:12 +0000 (10:21 +0100)]
Version 1.20.
Richard W.M. Jones [Thu, 3 Oct 2019 09:13:43 +0000 (10:13 +0100)]
maintainer: Add rules for maintainers.
Adds:
make maintainer-check-extra-dist
make maintainer-commit
make maintainer-tag
Richard W.M. Jones [Thu, 3 Oct 2019 09:16:08 +0000 (10:16 +0100)]
build: Add .gitignore to tarball.
Mainly to keep maintainer-check-extra-dist happy.
Richard W.M. Jones [Thu, 3 Oct 2019 08:53:49 +0000 (09:53 +0100)]
Arrange tests in subdirectories.
This simplifies and isolates each test.
Richard W.M. Jones [Thu, 3 Oct 2019 08:08:19 +0000 (09:08 +0100)]
build: Remove *~ files on make clean.
Richard W.M. Jones [Wed, 31 Oct 2018 15:23:45 +0000 (15:23 +0000)]
aws: Add regression test for AWS on KVM on ARM architecture.
Richard W.M. Jones [Wed, 31 Oct 2018 19:04:22 +0000 (19:04 +0000)]
Version 1.19.
Richard W.M. Jones [Wed, 31 Oct 2018 15:23:45 +0000 (15:23 +0000)]
aws: Add regression test for AWS on Xen on x86_64 architecture.
Richard W.M. Jones [Wed, 31 Oct 2018 15:43:20 +0000 (15:43 +0000)]
aws: Add regression test for AWS on baremetal on x86_64 architecture.
Richard W.M. Jones [Wed, 31 Oct 2018 15:23:45 +0000 (15:23 +0000)]
aws: Add regression test for AWS on KVM on x86_64 architecture.
Richard W.M. Jones [Wed, 31 Oct 2018 15:35:34 +0000 (15:35 +0000)]
tests: Fix tests when run on AWS.
When running on AWS two of the tests failed. This was because the
tests did _not_ include a working dmidecode binary, hence the platform
dmidecode binary was being run instead, and that was detecting as AWS
owing to the previous commit. Fix this by supplying a working
dmidecode binary for those tests.
Richard W.M. Jones [Wed, 31 Oct 2018 15:04:24 +0000 (15:04 +0000)]
aws: Detect AWS from dmidecode information.
Move the AWS detection out from under Xen. AWS runs on KVM and
baremetal these days. The dmidecode information for KVM and baremetal
is a little bit different so we also need to adjust the test for that
case.
Typical SMBIOS info for Xen:
BIOS Information
Vendor: Xen
Version: 4.2.amazon
Typical SMBIOS info for KVM and baremetal:
BIOS Information
Vendor: Amazon EC2
Version: 1.0
Thanks: Vitaly Kuznetsov, Jon Masters.
Richard W.M. Jones [Tue, 28 Aug 2018 17:32:41 +0000 (18:32 +0100)]
Replace == with = since the former is a bash-ism.
Thanks: Eric Blake.
Fixes commit
d7fd8a7843030d2b1719353edfcd49dba3000122.
Jasper Lievisse Adriaanse [Wed, 25 Apr 2018 14:41:32 +0000 (16:41 +0200)]
Allow using sysctl, for example when /proc isn't available
Guido Günther [Sat, 27 Jan 2018 12:11:36 +0000 (13:11 +0100)]
Determine architecture via 'uname -m'
'uname -p' only gives unknown on x86_64, i386, arm6l (rpi) and aarch64
(scaleways).
Richard W.M. Jones [Tue, 17 Oct 2017 13:47:09 +0000 (14:47 +0100)]
Recognize ppc64le (little endian) virtualization (RHBZ#1147876).
Tested by Laurent Vivier, see:
https://bugzilla.redhat.com/show_bug.cgi?id=1147876#c35 & ff.
xiliang [Sat, 17 Jun 2017 16:33:28 +0000 (00:33 +0800)]
As xen pv guest can access cpuid from Intel CPUs started IvyBridge onwards have CPUID Faulting, added one more check in virt-what.
Guido Günther [Fri, 4 Aug 2017 15:02:08 +0000 (12:02 -0300)]
Remove bashisms
Use [ instead of [[ so we fall back to test if necessary:
http://pubs.opengroup.org/onlinepubs/
9699919799/utilities/test.html
Gbp-Pq: Name Remove-bashisms.patch
Jasper Lievisse Adriaanse [Thu, 10 Aug 2017 07:44:01 +0000 (08:44 +0100)]
Missing have_cpuinfo check.
Richard W.M. Jones [Mon, 31 Jul 2017 14:35:11 +0000 (15:35 +0100)]
Version 1.18.
Richard W.M. Jones [Mon, 31 Jul 2017 14:34:08 +0000 (15:34 +0100)]
Richard W.M. Jones [Mon, 31 Jul 2017 14:28:45 +0000 (15:28 +0100)]
Version 1.17.
Richard W.M. Jones [Mon, 31 Jul 2017 14:19:52 +0000 (15:19 +0100)]
ppc64: Test ${root}/proc/device-tree/hypervisor instead of real file.
Fixes commit
50153230d19401fe47fcfd19d7ca0a2623c1ff09.
Richard W.M. Jones [Mon, 31 Jul 2017 14:04:28 +0000 (15:04 +0100)]
tests: Fix ldoms test so it doesn't test the host.
Fixes commit
dc0c2972e178a6de9ee87501acca54447ea9c699.
Richard W.M. Jones [Mon, 31 Jul 2017 13:32:51 +0000 (14:32 +0100)]
Document ‘aws’ meaning Amazon Web Services cloud guest.
Updates commit
dc32228184622b28f412f527c0f353347db029b8.
Richard W.M. Jones [Mon, 31 Jul 2017 13:19:46 +0000 (14:19 +0100)]
Fix EXTRA_DIST to match actual contents of tests directory.
Richard W.M. Jones [Mon, 31 Jul 2017 13:14:06 +0000 (14:14 +0100)]
Version 1.16
Darren Kenny [Tue, 4 Jul 2017 07:26:01 +0000 (08:26 +0100)]
Add LDoms Support.
The current version of virt-what does not support discovery of any
Logical Domains (LDoms) variants. This patch adds that support.
Orabug:
26106813
Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
Reviewed-By: Liam Merwick <liam.merwick@oracle.com>
Reviewed-By: Rashmi Narasimhan <rashmi.narasimhan@oracle.com>
Qi Guo [Flos] [Wed, 19 Jul 2017 15:39:29 +0000 (16:39 +0100)]
Update virt-what to detect AWS via dmidecode data.
Jasper Lievisse Adriaanse [Sat, 1 Jul 2017 11:12:46 +0000 (13:12 +0200)]
virt-what: recognize OpenBSD vmm
Hi,
Please find attached a patch for virt-what to recognize the OpenBSD VMM
hypervisor.
For more information on vmm, please refer to:
- http://man.openbsd.org/vmm.4
- https://www.openbsd.org/papers/asiabsdcon2017-vmm-slides.pdf
>From
837390b5afbb9253a62b15208d6fb4cbbbecabf1 Mon Sep 17 00:00:00 2001
From: Jasper Lievisse Adriaanse <j@jasper.la>
Date: Sat, 17 Jun 2017 21:17:39 +0200
Subject: [PATCH] vmm detection (OpenBSD hypervisor)
Daniel P. Berrange [Tue, 18 Jul 2017 12:45:09 +0000 (13:45 +0100)]
Update to detect QEMU via 'TCGTCGTCGTCG' CPUID
QEMU >= 2.10 will start reporting the string "TCGTCGTCGTCG"
for CPUID queries when running under TCG only (KVM signature
is unchanged)
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Thomas Huth [Tue, 4 Jul 2017 14:20:40 +0000 (16:20 +0200)]
Add support for KVM on System Z
KVM on System Z can be discovered in the same way as z/VM, by
looking at the "VM* Control Program" lines in /proc/sysinfo.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Mark Huth [Wed, 5 Jul 2017 11:11:32 +0000 (21:11 +1000)]
Export internal PATH variable (RHBZ#1467878).
- Fixes virt-what failing if it's started without an environment, eg:
$ env -i /sbin/virt-what
... or with python subprocess.Popen, eg:
p = subprocess.Popen('/sbin/virt-what', shell=False, ... , env={})
Thomas Huth [Thu, 29 Jun 2017 10:27:42 +0000 (11:27 +0100)]
Detect KVM property when running on POWER (RHBZ#1455676).
QEMU on ppc64 adds an additional property in the device tree if
running with KVM, so you could check that property for the string
"linux,kvm" to see if KVM is enabled:
0000000: 6c69 6e75 782c 6b76 6d00 linux,kvm.
Richard W.M. Jones [Thu, 29 Jun 2017 10:22:21 +0000 (11:22 +0100)]
Revert "Print 'qemu' fact when running in qemu environment on POWER 9 (RHBZ#1455676)."
This reverts commit
15314ad0a6e3764f070b60f6df02a2f881b09fce.
Richard W.M. Jones [Thu, 29 Jun 2017 09:07:38 +0000 (10:07 +0100)]
Print 'qemu' fact when running in qemu environment on POWER 9 (RHBZ#1455676).
Thanks Nageswara R. Sastry
Richard W.M. Jones [Mon, 10 Oct 2016 14:15:41 +0000 (15:15 +0100)]
Add documentation for bhyve.
Leonardo Brondani Schenkel [Sat, 17 Sep 2016 12:59:52 +0000 (12:59 +0000)]
Add detection of bhyve (FreeBSD hypervisor)
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:10:44 +0000 (12:10 +0100)]
Version 1.15
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 [Tue, 7 Jan 2014 12:37:30 +0000 (12:37 +0000)]
Version 1.14.
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.