Bug 1406351

Summary: [RFE] Need a tool to compare entries on LDAP servers.
Product: Red Hat Enterprise Linux 7 Reporter: Têko Mihinto <tmihinto>
Component: 389-ds-baseAssignee: mreynolds
Status: CLOSED ERRATA QA Contact: Viktor Ashirov <vashirov>
Severity: medium Docs Contact: Marc Muehlfeld <mmuehlfe>
Priority: medium    
Version: 7.4CC: enewland, gparente, mreynolds, nkinder, pasik, rmeggins, smeyer, spichugi, tmihinto, tscherf
Target Milestone: pre-dev-freezeKeywords: FutureFeature
Target Release: 7.5   
Hardware: Unspecified   
OS: Linux   
URL: http://www.port389.org/docs/389ds/design/repl-diff-tool-design.html
Whiteboard:
Fixed In Version: 389-ds-base-1.3.7.5-4.el7 Doc Type: Enhancement
Doc Text:
New utility to compare two Directory Server instances This update adds the *ds-replcheck* utility to Directory Server. This utility compares the data of two servers in online mode, or two LDIF-formatted files in offline mode. As a result, you can now verify the replication consistency of two Directory Servers. For further details, see https://access.redhat.com/documentation/en-us/red_hat_directory_server/10/html/administration_guide/comparing_two_directory_server_databases.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 14:15:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Têko Mihinto 2016-12-20 11:04:27 UTC
Description of problem:

In a replicated environment, there is a need to sometimes check if two databases
are fully synchronized:
    * same number of entries
    * for each entry, same number of attributes with same pairs keys:values

Such tool will help Support to quickly identify missing entries
and entries which have discrepancies ( example: different values for a given attribute )


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 10 mreynolds 2017-05-01 22:41:30 UTC
Upstream ticket:
https://pagure.io/389-ds-base/issue/49239

Comment 11 mreynolds 2017-05-02 14:48:59 UTC
Fixed upstream (1.3.7)

http://www.port389.org/docs/389ds/design/repl-diff-tool-design.html

Comment 14 mreynolds 2017-11-13 15:19:51 UTC
Looks good

Comment 15 Simon Pichugin 2018-02-23 11:28:48 UTC
[root@qeos-44 ds]# py.test -v dirsrvtests/tests/suites/ds_tools/replcheck_test.py
================== test session starts ==================
platform linux -- Python 3.6.3, pytest-3.4.1, py-1.5.2, 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-855.el7.x86_64-x86_64-with-redhat-7.5-Maipo', 'Packages': {'pytest': '3.4.1', 'py': '1.5.2', 'pluggy': '0.6.0'}, 'Plugins': {'metadata': '1.6.0', 'html': '1.16.1'}}
389-ds-base: 1.3.7.5-18.el7
nss: 3.34.0-4.el7
nspr: 4.17.0-1.el7
openldap: 2.4.44-13.el7
svrcore: 4.1.3-2.el7

rootdir: /mnt/tests/rhds/tests/upstream/ds, inifile:
plugins: metadata-1.6.0, html-1.16.1
collected 5 items

dirsrvtests/tests/suites/ds_tools/replcheck_test.py::test_check_ruv PASSED                 [ 20%]
dirsrvtests/tests/suites/ds_tools/replcheck_test.py::test_missing_entries PASSED           [ 40%]
dirsrvtests/tests/suites/ds_tools/replcheck_test.py::test_tombstones PASSED                [ 60%]
dirsrvtests/tests/suites/ds_tools/replcheck_test.py::test_conflict_entries PASSED          [ 80%]
dirsrvtests/tests/suites/ds_tools/replcheck_test.py::test_inconsistencies PASSED           [100%]

================== 5 passed in 184.81 seconds ==================

Marking as verified.

Comment 18 errata-xmlrpc 2018-04-10 14:15:15 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/RHBA-2018:0811