On Sun, Aug 07, 2016 at 14:43:27 -0500, David Ashley wrote: > All - > > What is the proper XML to supply to the Python Connections compareCPU > method? The same XML which can be used in domain XML to describe guest CPU configuration, i.e., http://libvirt.org/formatdomain.html#elementsCPU > I have looked at the cpu_map.xml file and I believe I have the cpu_map.xml is an internal data file and its structure is completely irrelevant. > proper XML configured but the method always throws an exception with a > missing CPU architecture error. Here is the code. > > from __future__ import print_function > import sys > import libvirt > > conn = libvirt.open('qemu:///system') > if conn == None: > print('Failed to open connection to qemu:///system', file=sys.stderr) > exit(1) > > retc = conn.compareCPU('<cpu><arch name="x86"><model > name="kvm64"/></arch></cpu>') <cpu mode='custom' match='exact'> <model fallback='forbid'>kvm64</model> </cpu> > if retc == -1: > print("CPUs are not the same.") > else: > print("CPUs are the same.") This won't work either. The documentation of this APIs clearly says the function returns one of VIR_CPU_COMPARE_* values, where -1 is used for errors and the result of the comparison (if there was no error) is either 0, 1, or 2. So even if the result is != -1, the CPUs may still be incompatible. In other words the return values are -1 error 0 incompatible CPUs 1 identical CPUs 2 host CPU is better than the CPU described by XML However, if you want to treat incompatible CPUs as a failure, you can use VIR_CONNECT_COMPARE_CPU_FAIL_INCOMPATIBLE flag and than your check for retc == -1 will work. Jirka _______________________________________________ libvirt-users mailing list libvirt-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvirt-users