Bug 1283748 - Caching of ipaconfig does not work in framework
Caching of ipaconfig does not work in framework
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: ipa (Show other bugs)
All Linux
urgent Severity urgent
: rc
: ---
Assigned To: IPA Maintainers
Namita Soman
: Regression, ZStream
Depends On:
Blocks: 1283915
  Show dependency treegraph
Reported: 2015-11-19 12:39 EST by Petr Vobornik
Modified: 2016-11-04 01:40 EDT (History)
5 users (show)

See Also:
Fixed In Version: ipa-4.2.0-16.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1283915 (view as bug list)
Last Closed: 2016-11-04 01:40:50 EDT
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 Petr Vobornik 2015-11-19 12:39:07 EST
This bug is created as a clone of upstream ticket:

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. 
            config_entry = getattr(context, 'config_entry')
            if config_entry.conn is self.conn:
                return config_entry
        except AttributeError:
            # Not in our context yet


Details are also here: http://www.redhat.com/archives/freeipa-devel/2015-November/msg00238.html
Comment 1 Petr Vobornik 2015-11-19 12:40:44 EST
fixed upstream

    7f0d018c66da1fe2adedd45aa9f5a63c913e4527 fix caching in get_ipa_config 

    0ca4c1db3ee6d9366f447d0d704fa56d98e366b4 fix caching in get_ipa_config
Comment 2 Petr Vobornik 2015-11-19 12:43:06 EST
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 06:18:38 EDT

IPA server version::


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 01:40:50 EDT
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.