Bug 1859227

Summary: create keep alive entry after on line init
Product: Red Hat Enterprise Linux 8 Reporter: mreynolds
Component: 389-ds-baseAssignee: mreynolds
Status: CLOSED ERRATA QA Contact: RHDS QE <ds-qe-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0CC: msauton, pasik, sgouvern, spichugi, tbordaz, vashirov
Target Milestone: rcKeywords: TestCaseProvided, Triaged, ZStream
Target Release: 8.4Flags: pm-rhel: mirror+
Hardware: All   
OS: Linux   
Whiteboard: sync-to-jira
Fixed In Version: 389-ds-1.4-8040020201120132038.866effaa Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1904351 (view as bug list) Environment:
Last Closed: 2021-05-18 15:45:18 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: 1904351    

Description mreynolds 2020-07-21 13:42:29 UTC
This bug is created as a clone of upstream ticket:
https://pagure.io/389-ds-base/issue/48999

In ticket 48445 the creation of a keep alive entry aftzer online init was removed because the creation i replica_enable_replication() led to inconsistencies between database and changelog.
But the creation of a keep alive entry directly after init is useful to have a csn for teh local replica in the RUV.
A safer place to add it is in the attached patch

Comment 3 thierry bordaz 2020-10-06 14:11:45 UTC
How to reproduce, create Master_A and do a dummy update.

It exists (search '(objectclass=ldapsubentry)'): cn=repl keep alive 1,dc=example,dc=com
RUV:
nsds50ruv: {replicageneration 12345}
nsds50ruv: {ldap://supplier_A:389   1 } 324345   23523534


Create Master_B and do total init of Master_B from MAster_A.

Once total init is completed and give some delay for replication B->A
It exists (search '(objectclass=ldapsubentry)'):
 cn=repl keep alive 1,dc=example,dc=com
 cn=repl keep alive 1,dc=example,dc=com
RUV:
nsds50ruv: {replicageneration 12345}
nsds50ruv: {ldap://Master_A:389   1 } 324345   23523534
nsds50ruv: {ldap://Master_B:389   2 } 342987   23840988

Comment 6 sgouvern 2020-11-23 10:06:32 UTC
tested with build 389-ds-base-1.4.3.16-2.module+el8.4.0+8803+fd0f8fe3.x86_64

# PYTHONPATH=src/lib389/ py.test -s -v dirsrvtests/tests/suites/replication/regression_test.py::test_online_init_should_create_keepalive_entries
re-exec with libfaketime dependencies
====================================================== test session starts =======================================================
platform linux -- Python 3.6.8, pytest-6.1.2, py-1.9.0, pluggy-0.13.1 -- /usr/bin/python3.6
cachedir: .pytest_cache
metadata: {'Python': '3.6.8', 'Platform': 'Linux-4.18.0-247.el8.x86_64-x86_64-with-redhat-8.4-Ootpa', 'Packages': {'pytest': '6.1.2', 'py': '1.9.0', 'pluggy': '0.13.1'}, 'Plugins': {'metadata': '1.10.0', 'html': '3.0.0', 'libfaketime': '0.1.2'}}
389-ds-base: 1.4.3.16-2.module+el8.4.0+8803+fd0f8fe3
nss: 3.53.1-11.el8_2
nspr: 4.25.0-2.el8_2
openldap: 2.4.46-16.el8
cyrus-sasl: 2.1.27-5.el8
FIPS: disabled
rootdir: /mnt/tests/rhds/tests/upstream/ds/dirsrvtests, configfile: pytest.ini
plugins: metadata-1.10.0, html-3.0.0, libfaketime-0.1.2
collected 1 item  


INFO:lib389.replica:SUCCESS: RUV from ldap://ci-vm-10-0-138-18.hosted.upshift.rdu2.redhat.com:39002 to ldap://ci-vm-10-0-138-18.hosted.upshift.rdu2.redhat.com:39001 is in sync
PASSED
=========================================== 1 passed, 13 warnings in 163.36s (0:02:43) ===========================================

Marking as verified:tested

Comment 9 sgouvern 2020-11-23 13:56:20 UTC
Verified:tested (see cpmment 6) with build 389-ds-base-1.4.3.16-2.module+el8.4.0+8803+fd0f8fe3.x86_64 attached to errata
marking as verified

Comment 13 errata-xmlrpc 2021-05-18 15:45:18 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 (389-ds:1.4 bug fix and enhancement update), 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-2021:1835