On Thu, Sep 27, 2012 at 04:41:37PM +0200, Jiri Denemark wrote: > While the changes to sanlock driver should be stable, the actual > implementation of sanlock_helper is supposed to be replaced in the > future. However, before we can implement a better sanlock_helper, we > need an administrative interface to libvirtd so that the helper can just > pass a "leases lost" event to the particular libvirt driver and > everything else will be taken care of internally. This approach will > also allow libvirt to pass such event to applications and use > appropriate reasons when changing domain states. > > The temporary implementation handles all actions directly by calling > appropriate libvirt APIs (which among other things means that it needs > to know the credentials required to connect to libvirtd). > +static int > +getCredentials(const char *driver) > +{ > + virConfPtr conf = NULL; > + char *path; > + int ret = -1; > + > + if (virAsprintf(&path, "%s/libvirt/%s-sanlock.conf", > + SYSCONFDIR, driver) < 0) > + return -1; > + > + if (!(conf = virConfReadFile(path, 0))) { > + ret = 0; > + goto cleanup; > + } > + > + if (getConfig(conf, "helper_login", &login) < 0 || > + getConfig(conf, "helper_password", &password) < 0 || Libvirt already has support built-in for loading usernames and passwords from a configuration file, so I don't think we need to duplicate that in the sanlock config file. This is just a documentation task to describe where to put the login info for sanlock to use it. > + > + if (virAsprintf(&uri, "%s:///%s", > + driver, > + STREQ(driver, "qemu") ? "system" : "") < 0) > + goto cleanup; This seems rather dubious to me and re-inforces my opinion that we should be passing the full URI, not the driver name. 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 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list