[Users] non-operational state as host does not meet clusters' minimu CPU level.

Itamar Heim iheim at redhat.com
Sun Sep 23 13:31:23 UTC 2012


On 09/21/2012 03:37 PM, wujieke wrote:
> currently, I create a cluster with Conroe family. My host/node works. And I
> can create some VMs on it.
> But I am not sure if the issue talking here will impact the VM's
> performance? Or stability ?

performance only, and mostly for guests utilizing new westmere features.

i think this patch was around this
not sure if its in 4.10.0-7.fc17 or a new issue

commit 498d1dd6f01a7f5488792c41f73f7cca57b2c890
Author: Gal Hammer <ghammer at redhat.com>
Date:   Mon Jun 4 17:55:35 2012 +0300

     BZ#737104 Disallow cross-vendor virtualization.

     Find vendor for all cpu models, including those based on another
     cpu module.

     Change-Id: Id52f757971e28058257d819036e58e0f1925c44d
     Signed-off-by: Gal Hammer <ghammer at redhat.com>
     Reviewed-on: http://gerrit.ovirt.org/5035
     Reviewed-by: Dan Kenigsberg <danken at redhat.com>

diff --git a/vdsm/caps.py b/vdsm/caps.py
index d89099a..7aeedf8 100644
--- a/vdsm/caps.py
+++ b/vdsm/caps.py
@@ -103,20 +103,35 @@ def _getEmulatedMachines():

      return [ m.firstChild.toxml() for m in 
guestTag.getElementsByTagName('machine') ]

+def _getAllCpuModels():
+    cpu_map = minidom.parseString(
+        file('/usr/share/libvirt/cpu_map.xml').read())
+
+    allModels = dict()
+    for m in cpu_map.getElementsByTagName('arch')[0].childNodes:
+        if m.nodeName != 'model':
+            continue
+        element = m.getElementsByTagName('vendor')
+        if element:
+            vendor = element[0].getAttribute('name')
+        else:
+            # If current model doesn't have a vendor, check if it has a 
model
+            # that it is based on. The models in the cpu_map.xml file are
+            # sorted in a way that the base model is always defined before.
+            element = m.getElementsByTagName('model')
+            if element:
+                vendor = allModels.get(element[0].getAttribute('name'), 
None)
+            else:
+                vendor = None
+        allModels[m.getAttribute('name')] = vendor
+
+    return allModels
+
  @utils.memoized
  def _getCompatibleCpuModels():
      c = libvirtconnection.get()
-    cpu_map = minidom.parseString(
-                    file('/usr/share/libvirt/cpu_map.xml').read())
-    def vendor(modelElem):
-        vs = modelElem.getElementsByTagName('vendor')
-        if vs:
-            return vs[0].getAttribute('name')
-        else:
-            return None
-    allModels = [ (m.getAttribute('name'), vendor(m)) for m
-          in cpu_map.getElementsByTagName('arch')[0].childNodes
-          if m.nodeName == 'model' ]
+    allModels = _getAllCpuModels()
+
      def compatible(model, vendor):
          if not vendor:
              return False
@@ -133,7 +148,7 @@ def _getCompatibleCpuModels():
              raise

      return [ 'model_' + model for (model, vendor)
-             in allModels if compatible(model, vendor) ]
+        in allModels.iteritems() if compatible(model, vendor) ]

  def _parseKeyVal(lines, delim='='):
      d = {}


>
> -----Original Message-----
> From: Itamar Heim [mailto:iheim at redhat.com]
> Sent: Friday, September 21, 2012 3:57 PM
> To: wujieke
> Cc: 'Mark Wu'; users at ovirt.org
> Subject: Re: [Users] non-operational state as host does not meet clusters'
> minimu CPU level.
>
> On 09/21/2012 09:24 AM, wujieke wrote:
>> Thanks a lot. Mark.
>>
>> Attach output for reference.
>
> ok, so libvirt/virsh detect sandybridge, but vdsm only reports conroe.
> there used to be a bug around this in vdsm - which version of vdsm are you
> running?
>
>>
>> -----Original Message-----
>> From: Mark Wu [mailto:wudxw at linux.vnet.ibm.com]
>> Sent: Friday, September 21, 2012 2:15 PM
>> To: wujieke
>> Cc: 'Itamar Heim'; users at ovirt.org
>> Subject: Re: [Users] non-operational state as host does not meet clusters'
>> minimu CPU level.
>>
>> On 09/21/2012 01:01 PM, wujieke wrote:
>>> I follow the wiki page to re-install ovirt with all-in-one version .
>>> my local host in ovirt is working now.
>>> Thanks a lot.
>>>
>>> Btw: the cmd " virsh capabilities" complains out :
>>>
>>> [root at localhost ~]# virsh capabilities Please enter your
>>> authentication name:
>>> Please enter your password:
>>> error: Failed to reconnect to the hypervisor
>>> error: no valid connection
>>> error: authentication failed: Failed to step SASL negotiation: -1
>> (SASL(-1):
>>> generic failure: All-whitespace username.)
>>>
>>> any idea?
>> Please try "virsh -r capabilities"
>>>
>>> -----Original Message-----
>>> From: Itamar Heim [mailto:iheim at redhat.com]
>>> Sent: Friday, September 21, 2012 12:44 PM
>>> To: wujieke
>>> Cc: node-devel at ovirt.org; users at ovirt.org
>>> Subject: Re: [Users] non-operational state as host does not meet
> clusters'
>>> minimu CPU level.
>>>
>>> On 09/21/2012 03:54 AM, wujieke wrote:
>>>> [root at localhost ~]# vdsClient -s 0 getVdsCaps | grep -i flags
>>>>             cpuFlags =
>>>> fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,ps
>>>> e
>>>> 3
>>>> 6,clfl
>>>> ush,dts,acpi,mmx,fxsr,sse,sse2,ss,ht,tm,pbe,syscall,nx,pdpe1gb,rdtsc
>>>> p
>>>> ,
>>>> lm,con
>>>> stant_tsc,arch_perfmon,pebs,bts,rep_good,nopl,xtopology,nonstop_tsc,
>>>> a
>>>> p
>>>> erfmpe
>>>> rf,pni,pclmulqdq,dtes64,monitor,ds_cpl,vmx,smx,est,tm2,ssse3,cx16,xt
>>>> p
>>>> r
>>>> ,pdcm,
>>>> pcid,dca,sse4_1,sse4_2,x2apic,popcnt,tsc_deadline_timer,aes,xsave,av
>>>> x
>>>> ,
>>>> lahf_l
>>>> m,ida,arat,epb,xsaveopt,pln,pts,dts,tpr_shadow,vnmi,flexpriority,ept
>>>> ,
>>>> v
>>>> pid,mo
>>>> del_coreduo,model_Conroe
>>>>
>>>> seems only support model_Conroe?
>>> and output of: virsh capabilities?
>>>
>>>
>>>> -----Original Message-----
>>>> From: Itamar Heim [mailto:iheim at redhat.com]
>>>> Sent: Thursday, September 20, 2012 10:04 PM
>>>> To: wujieke
>>>> Cc: node-devel at ovirt.org; users at ovirt.org
>>>> Subject: Re: [Users] non-operational state as host does not meet
>> clusters'
>>>> minimu CPU level.
>>>>
>>>> On 09/20/2012 12:19 PM, wujieke wrote:
>>>>> Hi, everyone, if it's not the right mail list, pls point out.. thanks..
>>>>>
>>>>> I am trying to install the ovirt on my Xeon E5-2650 process on Dell
>>>>> server, which is installed with Fedora 17. While I create a new
>>>>> host , which actually is the same server as overt-engine is running.
>>>>>
>>>>> The host is created ,and starting to "installing". But it ends with
>>>>> "Non operational state".
>>>>>
>>>>> Error:
>>>>>
>>>>> Host CPU type is not compatible with cluster properties, missing
>>>>> CPU
>>>>> feature: model_sandybridge.
>>>>>
>>>>> But in my cluster, I select "sandybridge" CPU, and my Xeon C5 is
>>>>> also in Sandy bridge family.  And also this error lead my server
> reboot.
>>>>>
>>>>> Any help is appreciated.
>>>>>
>>>>> Btw: I have enable INTEL-VT in BIOS. And modprobe KVM and kvm-intel
>>>>> modules. . attached is screen shot for error.
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at ovirt.org
>>>>> http://lists.ovirt.org/mailman/listinfo/users
>>>>>
>>>> please send output of this command from the host (not engine)
>>>> vdsClient -s 0 getVdsCaps | grep -i flags
>>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/users
>>>
>
>





More information about the Users mailing list