[SSSD] Discussion: OpenLMI provider + D-Bus responder

Dmitri Pal dpal at redhat.com
Thu Feb 13 18:45:11 UTC 2014


On 02/13/2014 08:14 AM, Pavel Březina wrote:
> Hi folks,
> for the first iteration of SSSD provider for OpenLMI I have created a 
> very simple model, that handles the most fundamental parts of SSSD: 
> domains and services (responders) - listing, activation and deactivation.
>
> MOF class for this model is attached. It still lacks some annotation 
> and description but I think it is pretty much straightforward and 
> doesn't need any more explanation for developers.
>
> The model contains four kinds of methods:
> - get all supported (configured) services (domains)
> - get active services (domains)
> - enable service (domain)
> - disable service (domain)
>
> I've chosen this approach so we don't have to amend the model with 
> each new responder. So instead of EnableNSSService(), users will use 
> EnableService('nss').
>
> Restart of SSSD deamon shall be handled by standard service provider, 
> so we don't have to deal with it - we just let users know that some 
> changes requires restarting. However, I'm inclined to create a method 
> under SSSD object (LMI_SSSD::Restart) to make the interface more 
> complete in later stage.
>
> Now I'm looking for a way how the LMI provider will communicate with 
> SSSD. I've been playing with Jakub's D-Bus responder for a while and 
> it seems like a good way to go. We can expose everything we need over 
> D-Bus with proper access control and it all stays under SSSD control, 
> having LMI provider only as a simple client.
>
> I would like to create a client wrapper over provided D-Bus interface 
> (say libsss_dbus), that will provide simple synchronous interface to 
> query D-Bus, encapsulating most of the D-Bus complexity. I have 
> prepared a proof of concept for this library, using both libdbus and 
> recommended libdbus-glib. It encapsulates ListDomains and property Get 
> D-Bus method. You can see both versions here:
>
> - libdbus:
> http://fedorapeople.org/cgit/pbrezina/public_git/sssd_gdbus.git/tree/src/main.c?h=dbus 
>
>
> - libdbus-glib:
> http://fedorapeople.org/cgit/pbrezina/public_git/sssd_gdbus.git/tree/src/main.c?h=gdbus 
>
>
> Probably the biggest advantage of libdbus-glib is the simplicity of 
> work with variants and dictionaries. However, I think it is quite an 
> overkill for our needs. I'm more inclined to use libdbus and write an 
> automatized parser for those data types, it won't be hard.
>
> What do you say? Should I go this way?
>
> Jakub, can you send the D-Bus responder to the list? It would be nice 
> to include it in master as an experimental feature and create tickets 
> for further work so we can work on it simultaneously.
>
>
> _______________________________________________
> sssd-devel mailing list
> sssd-devel at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/sssd-devel

Stef, would be very helpful if you can review this.

-- 
Thank you,
Dmitri Pal

Sr. Engineering Manager for IdM portfolio
Red Hat Inc.


-------------------------------
Looking to carve out IT costs?
www.redhat.com/carveoutcosts/



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20140213/12ca468f/attachment.html>


More information about the sssd-devel mailing list