Red Hat Bugzilla – Bug 867933
invalidating the memcache with sss_cache doesn't work if the sssd is not running
Last modified: 2013-02-21 04:37:48 EST
This bug is created as a clone of upstream ticket: https://fedorahosted.org/sssd/ticket/1584 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.
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' Group1:*:1001: :: [ 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' '6e237c5d-13d2-44e1-9962-b79ee33bf01a' inmemory04-bz867933-sss-cache-invalidates-the-in-memory-cache-when-sssd-is-stopped result: PASS
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. http://rhn.redhat.com/errata/RHSA-2013-0508.html