On 03/19/2014 07:54 PM, Edison Su wrote:
I found many times in QA's testing environment, the libvirt storage
pool(created on NFS) is missing on the kvm host frequently, for no reason. It
may relate to bug https://bugzilla.redhat.com/show_bug.cgi?id=977706.
In order to fix this issue, and bug CLOUDSTACK-2729, we added a lot of
workaround to fight with libvirt, such as, if can't find the storage pool, then
create the same pool again etc. As the storage pool can be lost on kvm host at
any time, it will cause a lot of operation errors, such as can't start vm,
can't delete volume etc, etc.
I want to bypass libvirt storage pool for NFS, as java itself, already have all
the capabilities that libvirt can provide, such as create a file, delete a
file, list a directory etc, there is no need to add another layer of crap here.
In doing so, we won't be blocked by libvirt
bug(https://bugzilla.redhat.com/show_bug.cgi?id=977706) to support newer
version of KVM.
-1
I understand the issues which we see here, but imho the way forward is
to fix this in libvirt instead of simply go around it.
We should not try to re-invent the wheel here, but fix the root-cause.
Yes, Java can do a lot, but I think libvirt can do this better.
For the RBD code I also had a couple of changes go into libvirt recently
and this NFS issue can also be fixed.
Loosing NFS pools in libvirt is most of the times due to a restart of
libvirt, they don't magically disappear from libvirt.
I agree that we should be able to start the pool again even while it's
mounted, but that's something we should fix in libvirt.
Wido