systemvmtemplate: Fixes: #2760 Fix SystemVMs running in Xen HVM mode are not configured (#2824)

Set hypervisor to xen-hvm when virt-what detects both HyperV cpuid and xen-domU.
This commit is contained in:
David Passante 2018-09-07 12:41:23 +02:00 committed by Rohit Yadav
parent a387272288
commit 4b4555bff7

View File

@ -35,14 +35,8 @@ log_it() {
}
hypervisor() {
local try=$([ -x /usr/sbin/virt-what ] && virt-what | tail -1)
[ "$try" != "" ] && echo $try && return 0
grep -q QEMU /proc/cpuinfo && echo "kvm" && return 0
grep -q QEMU /var/log/messages && echo "kvm" && return 0
[ -d /proc/xen ] && mount -t xenfs none /proc/xen
if [ -d /proc/xen ]; then
mount -t xenfs none /proc/xen
$(dmesg | grep -q "Xen HVM")
if [ $? -eq 0 ]; then # 1=PV,0=HVM
echo "xen-hvm" && return 0
@ -51,6 +45,19 @@ hypervisor() {
fi
fi
[ -x /usr/sbin/virt-what ] && local facts=( $(virt-what) )
if [ "$facts" != "" ]; then
# Xen HVM is recognized as Hyperv when Viridian extensions are enabled
if [ "${facts[-1]}" == "xen-domU" ] && [ "${facts[0]}" == "hyperv" ]; then
echo "xen-hvm" && return 0
else
echo ${facts[-1]} && return 0
fi
fi
grep -q QEMU /proc/cpuinfo && echo "kvm" && return 0
grep -q QEMU /var/log/messages && echo "kvm" && return 0
vmware-checkvm &> /dev/null && echo "vmware" && return 0
echo "unknown" && return 1