<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
On 02/13/2014 08:14 AM, Pavel Březina wrote:
<blockquote cite="mid:52FCC519.5060404@redhat.com" type="cite">Hi
folks,
<br>
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.
<br>
<br>
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.
<br>
<br>
The model contains four kinds of methods:
<br>
- get all supported (configured) services (domains)
<br>
- get active services (domains)
<br>
- enable service (domain)
<br>
- disable service (domain)
<br>
<br>
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').
<br>
<br>
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.
<br>
<br>
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.
<br>
<br>
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:
<br>
<br>
- libdbus:
<br>
<a class="moz-txt-link-freetext" href="http://fedorapeople.org/cgit/pbrezina/public_git/sssd_gdbus.git/tree/src/main.c?h=dbus">http://fedorapeople.org/cgit/pbrezina/public_git/sssd_gdbus.git/tree/src/main.c?h=dbus</a>
<br>
<br>
- libdbus-glib:
<br>
<a class="moz-txt-link-freetext" href="http://fedorapeople.org/cgit/pbrezina/public_git/sssd_gdbus.git/tree/src/main.c?h=gdbus">http://fedorapeople.org/cgit/pbrezina/public_git/sssd_gdbus.git/tree/src/main.c?h=gdbus</a>
<br>
<br>
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.
<br>
<br>
What do you say? Should I go this way?
<br>
<br>
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.
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
sssd-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:sssd-devel@lists.fedorahosted.org">sssd-devel@lists.fedorahosted.org</a>
<a class="moz-txt-link-freetext" href="https://lists.fedorahosted.org/mailman/listinfo/sssd-devel">https://lists.fedorahosted.org/mailman/listinfo/sssd-devel</a>
</pre>
</blockquote>
<br>
Stef, would be very helpful if you can review this.<br>
<pre class="moz-signature" cols="72">--
Thank you,
Dmitri Pal
Sr. Engineering Manager for IdM portfolio
Red Hat Inc.
-------------------------------
Looking to carve out IT costs?
<a class="moz-txt-link-abbreviated" href="http://www.redhat.com/carveoutcosts/">www.redhat.com/carveoutcosts/</a>
</pre>
</body>
</html>