[libvirt] Access to the secretDriver in a storage backend?

Daniel P. Berrange berrange at redhat.com
Tue Jan 3 14:13:08 UTC 2012


On Tue, Jan 03, 2012 at 03:00:49PM +0100, Wido den Hollander wrote:
> On 01/03/2012 12:58 PM, Daniel P. Berrange wrote:
> >On Sat, Dec 31, 2011 at 01:26:54PM +0100, Wido den Hollander wrote:
> >>Hi,
> >>
> >>I'm working on a storage backend for libvirt which needs credentials
> >>to access the storage pool. I want to use the build in secret
> >>manager from libvirt, but it seems I do not have access to the
> >>secretDriver in a storage backend?
> >>
> >>static int virStorageBackendRBDRefreshPool(virConnectPtr conn
> >>ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool) {
> >>
> >>	if (pool->def->source.auth.cephx.secret != NULL) {
> >>		virSecretPtr secret;
> >>		secret = conn->secretDriver->lookupByUUID(conn,
> >>pool->def->source.auth.cephx.secret);
> >>		virSecretFree(secret);
> >>	}
> >>	
> >>	return 0;
> >>}
> >>
> >>It goes wrong at this point:
> >>conn->secretDriver->lookupByUUID(conn,pool->def->source.auth.cephx.secret);
> >>
> >>"error: dereferencing pointer to incomplete type"
> >>
> >>Is the secretDriver available in a storage backend? In
> >>storage_backend.c I see that it should be available, correct?
> >
> >Are you missing the '#include "datatypes.h"'  header ?
> 
> Yes, that was indeed the fix.
> 
> Although, in the meantime I found:
> 
> virSecretPtr secret;
> secret = virSecretLookupByUUIDString(conn,
> pool->def->source.auth.cephx.secret);
> 
> value = virSecretGetValue(secret, &value_size, 0);
> 
> This also works fine, but what do you recommend?

Either is fine. Perhaps a slight preference to use the
style you were trying out originally.

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 :|




More information about the libvir-list mailing list