This is an automated email from the ASF dual-hosted git repository. rohit pushed a commit to branch 4.11 in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.11 by this push: new 4b4555b systemvmtemplate: Fixes: #2760 Fix SystemVMs running in Xen HVM mode are not configured (#2824) 4b4555b is described below commit 4b4555bff78882221f5d7d2808cc41d7d6ac1670 Author: David Passante <david.passa...@orange.com> AuthorDate: Fri Sep 7 12:41:23 2018 +0200 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. --- .../debian/opt/cloud/bin/setup/cloud-early-config | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/systemvm/debian/opt/cloud/bin/setup/cloud-early-config b/systemvm/debian/opt/cloud/bin/setup/cloud-early-config index 9baed01..99acb86 100755 --- a/systemvm/debian/opt/cloud/bin/setup/cloud-early-config +++ b/systemvm/debian/opt/cloud/bin/setup/cloud-early-config @@ -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