Hi list,
i currently have the following issue:
I did a test upgrade to libvirt 1.1.4 and now i cannot create new snapshots
which can be reverted.
Following Situation:
Virtualization: kvm
Disktype: qcow2
qemu XML:
<cpu mode='host-passthrough'>
</cpu>
Creating of snapshot:
virsh snapshot-create-as <guest> <name> <description> --atomic
Now i craete a snapshot and as soon as i revert i get the following error:
error : virCPUDefParseXML:367 : XML error: Non-empty feature list specified
without CPU model
I think the error is inside the snapshot xml (virsh snapshot-dumpxml):
<cpu mode='host-passthrough'>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='osxsave'/>
<feature policy='require' name='dca'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='xtpr'/>
<feature policy='require' name='tm2'/>
<feature policy='require' name='est'/>
<feature policy='require' name='smx'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='ds_cpl'/>
<feature policy='require' name='monitor'/>
<feature policy='require' name='dtes64'/>
<feature policy='require' name='pbe'/>
<feature policy='require' name='tm'/>
<feature policy='require' name='ht'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='acpi'/>
<feature policy='require' name='ds'/>
<feature policy='require' name='vme'/>
</cpu>
In older libvirt versions < 1.0.0 the xml looks the following way (virsh
snapshot-dumpxml):
<cpu mode='host-passthrough' match='minimum'>
<model>SandyBridge</model>
<vendor>Intel</vendor>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='osxsave'/>
<feature policy='require' name='dca'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='xtpr'/>
<feature policy='require' name='tm2'/>
<feature policy='require' name='est'/>
<feature policy='require' name='smx'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='ds_cpl'/>
<feature policy='require' name='monitor'/>
<feature policy='require' name='dtes64'/>
<feature policy='require' name='pbe'/>
<feature policy='require' name='tm'/>
<feature policy='require' name='ht'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='acpi'/>
<feature policy='require' name='ds'/>
<feature policy='require' name='vme'/>
</cpu>
So for what ever reason the model and vendor tag are not copied inside the
snapshot metadata xml when using cpu mode cpu-passthrough.
virsh dumpxml with --update-cpu flag reports the correct cpu node with
model and vendor tags.
After a stop of libvirtd and loooking inside the xml file the cpu tag looks
the following:
<cpu mode='host-passthrough' match='minimum'>
<model>SandyBridge</model>
<vendor>Intel</vendor>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='osxsave'/>
<feature policy='require' name='dca'/>
<feature policy='require' name='pcid'/>
<feature policy='require' name='pdcm'/>
<feature policy='require' name='xtpr'/>
<feature policy='require' name='tm2'/>
<feature policy='require' name='est'/>
<feature policy='require' name='smx'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='ds_cpl'/>
<feature policy='require' name='monitor'/>
<feature policy='require' name='dtes64'/>
<feature policy='require' name='pbe'/>
<feature policy='require' name='tm'/>
<feature policy='require' name='ht'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='acpi'/>
<feature policy='require' name='ds'/>
<feature policy='require' name='vme'/>
</cpu>
After the start of libvirtd virsh reports the cpu tag with missing vendor
and model.
Does anybody else has this problem?
Best regards
Georg