On Fri, Aug 09, 2013 at 10:13:03AM +0200, surface(a)me.is-a-linux-user.org wrote:
Hello
The "version" function is not supported by the hyperv driver:
$ virsh --connect=hyperv://hypervhost version
Compiled against library: libvirt 1.1.1
Using library: libvirt 1.1.1
Using API: Hyper-V 1.1.1
error: failed to get the hypervisor version
error: this function is not supported by the connection driver:
virConnectGetVersion
But we need this funtion for the "external/libvirt" stonith plugin
of clusterglue:
$ cat /usr/lib/stonith/plugins/libvirt | more
# get status of stonith device (*NOT* of the domain).
# If we can retrieve some info from the hypervisor
# the stonith device is OK.
libvirt_status() {
out=$($VIRSH -c $hypervisor_uri version 2>&1)
if [ $? -eq 0 ]
then
out=`echo "$out" | tail -1`
ha_log.sh notice "$hypervisor_uri: $out"
return 0
fi
ha_log.sh err "Failed to get status for $hypervisor_uri"
ha_log.sh err "$out"
return 1
}
So, we can't implement libvirt stonith with hyperv support in our
corosync/pacemaker cluster. Is it possible to implement the
"version" function for hyperv into virConnectGetVersion? Or exist
any workaround for this problem?
I'm sure its possible, but it needs someone with knowledge of the
Hyper-V apis to write a patch and there's only a couple of people
in libvirt comunity who can do that. Patches welcome from any able
person...
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|