Bug 867933 - invalidating the memcache with sss_cache doesn't work if the sssd is not running
invalidating the memcache with sss_cache doesn't work if the sssd is not running
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: sssd (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Jakub Hrozek
Kaushik Banerjee
Depends On:
  Show dependency treegraph
Reported: 2012-10-18 11:29 EDT by Jakub Hrozek
Modified: 2013-02-21 04:37 EST (History)
3 users (show)

See Also:
Fixed In Version: sssd-1.9.2-7.el6
Doc Type: Bug Fix
Doc Text:
No Documentation Needed
Story Points: ---
Clone Of:
Last Closed: 2013-02-21 04:37:48 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Jakub Hrozek 2012-10-18 11:29:51 EDT
This bug is created as a clone of upstream ticket:

Stef found this corner case while preparing for the test day. If the SSSD is not running, for instance because the machine has left the domain, the memory cache files are still around and the processes that started before the machine left the domain can still query users from the domain.

The memcache can't even be invalidated with sss_cache, because sss_cache only sends a signal to the NSS responder.

This is how we should fix it:
1. make the API to invalidate the cache public
2. in the sss_cache tool, carefully detect if the sss_nss process is running, for example by checking for the responder socket or the PID.
3. if the sss_nss process is running, proceed with sending the signal
4. if the sss_nss process is not running, invalidate the memcache.

We should also check if all of the above works with SELinux.
Comment 2 Kaushik Banerjee 2013-01-02 02:15:41 EST
Verified in version 1.9.2-41.el6

Output from beaker automation run:
:: [   LOG    ] :: inmemory04 bz867933 sss_cache invalidates the in-memory cache when sssd is stopped

Stopping sssd: [  OK  ]
:: [   PASS   ] :: Running 'sss_cache -U --domain=LDAP'
:: [   PASS   ] :: Running 'sss_cache -G --domain=LDAP'
Starting sssd: [  OK  ]
[  OK  ]
:: [   PASS   ] :: Running 'service sssd start'
puser1:*:1001:1001:Posix User1:/export/puser1:
:: [   PASS   ] :: Running 'getent passwd puser1'
:: [   PASS   ] :: Running 'getent group Group1'
:: [   PASS   ] :: File '/var/log/sssd/sssd_LDAP.log' should contain 'Got request for '
:: [   PASS   ] :: File '/var/log/sssd/sssd_LDAP.log' should contain 'uid=puser1'
:: [   PASS   ] :: File '/var/log/sssd/sssd_LDAP.log' should contain 'cn=Group1'
inmemory04-bz867933-sss-cache-invalidates-the-in-memory-cache-when-sssd-is-stopped result: PASS
Comment 3 errata-xmlrpc 2013-02-21 04:37:48 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.