On Fri, Apr 17, 2015 at 11:28:11AM +0100, Daniel P. Berrange wrote:
On Thu, Apr 16, 2015 at 04:46:44PM +0200, Martin Kletzander wrote:Initial scratch of the admin library. It has its own virAdmConnectPtr that inherits from virAbstractConnectPtr and thus trivially supports error reporting.See my note earlier about error reporting on the connection being a bad idea due to lack of thread safety.Configuration option --with-admin is added to control whether the admin library should be built or not (set to 'yes' by default).Is there a compelling reason why we'd need/want to be able to disable building of the admin library ? As a comparison we unconditionally build libvirt-qemu.so & libvirt-lxc.so
No reason, I just figured someone might want to disable that. [...]
+virAdmConnectPtr virAdmConnectOpen(unsigned int flags);How does this figure out which libvirtd daemon to connect to ? Presumably you've hardcoded it based on the UID you're running as ?
It doesn't. I don't think anyone is going to use this to connect to the session daemon. I also don't see anyone having session daemon running without the possibility of restarting it.
I think for future proofing we should probably define a URI syntax for this. eg admin:///system admin:///session And allow an optional parameter for the socket path, for people who have built their daemon with an unusual --prefix arg.
I think we can keep it without the possibility of connecting to the session daemon and if that is going to change, we can add virAdmConnectSession() function. In the meantime I'd rather focus on enabling this functionality then dealing with session daemon, all the unnecessary code it adds and the problems we already have with the session daemon. [...]
diff --git a/src/libvirt_admin.syms b/src/libvirt_admin.syms new file mode 100644 index 0000000..292433f --- /dev/null +++ b/src/libvirt_admin.syms @@ -0,0 +1,18 @@ +# +# Officially exported symbols, for which header +# file definitions are installed in /usr/include/libvirt +# from libvirt-admin.h +# +# Versions here are *fixed* to match the libvirt version +# at which the symbol was introduced. This ensures that +# a new client app requiring symbol foo() can't accidentally +# run with old libvirt-admin.so not providing foo() - the global +# soname version info can't enforce this since we never +# change the soname +# +LIBVIRT_ADMIN_1.2.3 {Either you've been working on this a really long time, or this version was a typo.
That version is one year old and I've sent the original RFC 2 years ago. The progress can be seen thanks to that. I started a long time ago, then haven't had a time for that and every time I managed to get rid of higher priority tasks I had to rebase it and start off again and only for so much time until another higher priority tasks appeared.
Either way, when we are ready to merge the admin library, that might be a nice reason to bump our version to 1.3.x, since we've been on 1.2.x a long time.
That'd be great! Or 2.0? Just kidding.
Attachment:
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list