Bug 1551065

Summary: ds-replcheck LDIF comparision fails when checking for conflicts
Product: Red Hat Enterprise Linux 7 Reporter: mreynolds
Component: 389-ds-baseAssignee: mreynolds
Status: CLOSED ERRATA QA Contact: RHDS QE <ds-qe-bugs>
Severity: medium Docs Contact:
Priority: high    
Version: 7.4CC: msauton, nkinder, rmeggins, spichugi
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 389-ds-base-1.3.8.4-1.el7 Doc Type: No Doc Update
Doc Text:
undefined
Story Points: ---
Clone Of:
: 1580257 (view as bug list) Environment:
Last Closed: 2018-10-30 10:13:31 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: 1580257    

Description mreynolds 2018-03-02 16:55:07 UTC
This bug is created as a clone of upstream ticket:
https://pagure.io/389-ds-base/issue/49576

#### Issue Description

Problem appears to be a case sensitive issue with "nsds5replconflict"

    [root@localhost replication]# ds-replcheck -M /tmp/conflict.ldif -R /tmp/conflict2.ldif -c
    Performing offline report...
    Gathering all the DN's...
    Gathering the database RUV's...
    Comparing Master to Replica...
    Comparing Replica to Master...
    Preparing report...
    Traceback (most recent call last):
      File "/usr/bin/ds-replcheck", line 1122, in <module>
        main()
      File "/usr/bin/ds-replcheck", line 1112, in main
        do_offline_report(opts, OUTPUT_FILE)
      File "/usr/bin/ds-replcheck", line 535, in do_offline_report
        final_report += get_conflict_report(mconflicts, rconflicts, opts['conflicts'], format_conflicts=True)
      File "/usr/bin/ds-replcheck", line 773, in get_conflict_report
        m_conflicts.append({'dn': entry.dn, 'conflict': entry.data['nsds5replconflict'][0],
      File "/usr/lib64/python2.7/site-packages/ldap/cidict.py", line 27, in __getitem__
        return self.data[lower(key)]
    KeyError: 'nsds5replconflict'

Comment 4 Simon Pichugin 2018-07-10 08:14:41 UTC
========================= test session starts =========================
platform linux -- Python 3.6.3, pytest-3.6.3, py-1.5.4, pluggy-0.6.0 -- /opt/rh/rh-python36/root/usr/bin/python3
cachedir: .pytest_cache
metadata: {'Python': '3.6.3', 'Platform': 'Linux-3.10.0-918.el7.x86_64-x86_64-with-redhat-7.6-Maipo', 'Packages': {'pytest': '3.6.3', 'py': '1.5.4', 'pluggy': '0.6.0'}, 'Plugins': {'metadata': '1.7.0', 'html': '1.19.0'}}
389-ds-base: 1.3.8.4-3.el7
nss: 3.36.0-5.el7_5
nspr: 4.19.0-1.el7_5
openldap: 2.4.44-18.el7
svrcore: 4.1.3-2.el7
FIPS: 0

389-ds-base: 1.3.8.4-3.el7
nss: 3.36.0-5.el7_5
nspr: 4.19.0-1.el7_5
openldap: 2.4.44-18.el7
cyrus-sasl: 2.1.26-23.el7
FIPS: 0

rootdir: /mnt/tests/rhds/tests/upstream/ds, inifile:
plugins: metadata-1.7.0, html-1.19.0
collected 1 item

dirsrvtests/tests/suites/ds_tools/replcheck_test.py::test_conflict_entries PASSED                                                                                                      [100%]

========================= 1 passed in 104.12 seconds =========================

Marking as verified.

Comment 6 errata-xmlrpc 2018-10-30 10:13:31 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://access.redhat.com/errata/RHSA-2018:3127