Bug 1283748

Summary: Caching of ipaconfig does not work in framework
Product: Red Hat Enterprise Linux 7 Reporter: Petr Vobornik <pvoborni>
Component: ipaAssignee: IPA Maintainers <ipa-maint>
Status: CLOSED ERRATA QA Contact: Namita Soman <nsoman>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 7.2CC: akasurde, ekeck, jkurik, ksiddiqu, rcritten
Target Milestone: rcKeywords: Regression, ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: ipa-4.2.0-16.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1283915 (view as bug list) Environment:
Last Closed: 2016-11-04 05:40:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1283915    

Description Petr Vobornik 2015-11-19 17:39:07 UTC
This bug is created as a clone of upstream ticket:
https://fedorahosted.org/freeipa/ticket/5463

Method: get_ipa_config() in ldap2.py does not work as expected.
The ipaconfig values are not cached and method always asks directly LDAP server.

The issues is that the *is* operator return false even if the connection is the same as was before. 
{{{
        try:
            config_entry = getattr(context, 'config_entry')
            if config_entry.conn is self.conn:
                return config_entry
        except AttributeError:
            # Not in our context yet
            pass

}}}

Details are also here: http://www.redhat.com/archives/freeipa-devel/2015-November/msg00238.html

Comment 1 Petr Vobornik 2015-11-19 17:40:44 UTC
fixed upstream

master:
    7f0d018c66da1fe2adedd45aa9f5a63c913e4527 fix caching in get_ipa_config 

ipa-4-2:
    0ca4c1db3ee6d9366f447d0d704fa56d98e366b4 fix caching in get_ipa_config

Comment 2 Petr Vobornik 2015-11-19 17:43:06 UTC
Causes that IPA command performs additional ldap search for server config for every ldap search done in the command. E.g., in user-add it is additional 12 searches. 

This has slight performance impact.

Comment 7 Abhijeet Kasurde 2016-08-09 10:18:38 UTC
Verified.

IPA server version::

ipa-server-4.4.0-5.el7.x86_64


Steps to verify ::

1. Fresh install ipa-server
2. Add IPA user 
3. tail DS access log, usually found /var/log/dirsrv/slapd-<INSTANCE>/access
4. perform operations like 'ipa user-show', 'ipa user-find' and 
5. Grep for string in DS access log
 {{
"SRCH base="cn=ipaconfig,cn=etc,dc=example.com" scope=0 filter="(objectClass=*)" attrs=ALL" 

}}

6. Note that this string should appear once for each request / connection of ipa command.

Comment 9 errata-xmlrpc 2016-11-04 05:40:50 UTC
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.

https://rhn.redhat.com/errata/RHBA-2016-2404.html