we might be able to do some refactoring in the next couple of weeks
prior to working on the next release.
I wrote up a proposal here:
https://fedorahosted.org/sssd/wiki/DesignDocs/OneFifteenCodeRefactoring
for your convenience, I copied the contents inline as well.
But the page is really meant to kick off the discussion, so feel free to
add suggestions or push back against those that are included.
The main points to keep in mind are that the work should be doable in a
couple of weeks along with our regular maintenance work and should
benefit SSSD, not just 'this code is ugly, let's change it' kind of
work.
I'm looking forward to the discussion, especially I would like to hear
Michal's or Lukas' opinion about the memory cache changes..
=== Use the shared `cache_req` module for responder look-ups ===
Currently each responder (except the !InfoPipe responder and several parts
of the NSS responder) copy the logic that checks the cache and contacts
the Data Provider if needed. In 1.15, we should add the missing functionality
into the cache_req module and convert the existing responders (especially
those that look up users and groups, not necessarily other objects like
autofs maps or hosts..) to cache_req.
==== Benefit to SSSD ====
In 1.15, we should look at allowing lookups from trusted domain with a
shortname. But we need to take performance into account and avoid cycling
over all domains including their LDAP server. Then we could switch to
checking the caches of all domains first before checking each domain's
cache and then its server.
This goal is tracked by
https://fedorahosted.org/sssd/ticket/843 (Login time
increases strongly if more than one domain is configured) and ultimately
by
https://fedorahosted.org/sssd/ticket/3001 ([RFE] Short name input format
with SSSD for users from all domains when domain autodiscovery is used).
This will also help with implementing session recording (tlog integration).
I couldn't find the corresponding ticket, sorry.
Nick