On 12/18/2014 07:16 PM, Chengyuan Li wrote:
Sometimes a new feature in the newer version of libvirt results in new attributes in the status or config XML that is unrecognized by the older libvirt when it is started. This can cause a parsing error when parsing the XML, and the result is that the domain in question isn't added to libvirt's list of domains.
Between libvirt 0.9.13 and 1.2.2 (and qemu 1.0 --> 2.0) there were *a lot* of new features added. Especially if you constructed your guests while running the new libvirt/qemu, it's highly likely that such a downgrade is unfeasible, as required functionality will be missing in the older versions. Personally, I would never consider downgrading to something so old unless it was a complete necessity.
If you really want to try staying with the older libvirt and qemu, take a look at the libvirtd log to see what error messages have been output. This will usually give you a clue about what parts of the XML aren't recognized. Unless it is for a feature that is truly required for that domain to run, you can hand-edit the files in /etc/libvirt/qemu/*.xml and /var/run/libvirt/qemu/*.xml to modify or eliminate the now-unrecognized bit of XML. (NB: this is the *only* time you will catch me recommending that you edit these files by hand! Normally you should never do anything with them directly, only via the libvirt API as the location and contents of these files are a private implementation detail of libvirt).
After you've edited the files, restart libvirtd again and see if the problem still exists.
If you do that above, I would strongly recommend making a copy of any file you edit, so that you can go back if things get messed up.