The "no support for hypervisor" error is both very common and pretty
annoying because it gives you nowhere to go to find out what you did wrong.
$ virsh -c xen://localhost/
libvir: Xen Daemon error : no support for hypervisor
virsh: error: failed to connect to the hypervisor
(The actual problem is that my URI is wrong, which is a separate bug in
the Xen driver. But the error message gives me no particular indication
of what is wrong or how to correct the situation).
I think there are several possible solutions to this - discuss, or
suggest your own.
(1) Document the URI formats fully.
-- This is a feature which has been requested a few times and I will
do it anyway if Daniel Veillard will do the magic to set up a
"http://libvirt.org/uri.html" page.
(2) Add a method to query available drivers and URI syntax.
-- Something along the lines of char *virQueryDrivers (void); Note
that it doesn't need an open connection.
-- The remote case would have to be handled specially because you
want to find out what's available locally and what's available remotely,
and in the remote case you do need some sort of a connection.
(3) Split VIR_ERR_NO_SUPPORT into two categories. Currently this
category mixes up cases where we fail to open a connection, and cases
where there is no driver support for a particular operation (even with
an open connection). In the first case, go through all the places which
return this error and add proper diagnostic information to the error
messages.
-- Again, I am prepared to do this if people think it's a good idea.
(4) Add diagnostics to higher layers such as virsh and virt-manager.
-- I would be less happy with this because it ends up repeating code,
and the diagnostics could get out of date w.r.t. what libvirt can do.
Rich.
--
Emerging Technologies, Red Hat -
http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in
England and Wales under Company Registration No. 03798903