On 12/18/2014 07:16 PM, Chengyuan Li wrote:
Hi,
I was running libvirt 1.2.2 and qemu 2.0 which are from icehouse cloud
archive repo on ubuntu 12.04, "virsh list --all" showed correct
instances after launching several VMs,
Then I just downgraded libvirt to 0.9.13 and qemu to 1.0, but kept the
VMs running. However, when I run "virsh list --all" after downgrade, I
can't see any VMs. Seems that the old version libvirt 0.9.13 doesn't
know the instances created by libvirt 1.2.2.
Does anyone know how to solve this problem?
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.