Monday, April 12, 2021

[389-users] Re: dsconf duplicate replica id

you can either run a "dsconf replication get-ruv" like tis example:
dsconf -j ldapi://%2fvar%2frun%2fslapd-m1.socket replication get-ruv --suffix=dc=example,dc=test

or an ldapsearch to get the RUV records, similar to this example:
ldapsearch -o ldif-wrap=no -LLLH ldaps://m1.example.test:636 -D "cn=directory manager" -W -b dc=example,dc=test "(&(nsUniqueId=ffffffff-ffffffff-ffffffff-ffffffff)(objectClass=nstombstone))" nsds50ruv

or review the dse.ldif configuration file, and search for a replication agreement definition ( objectClass: nsds5replicationagreement ), and locate the attributes nsds50ruv, DN example:
dn: cn=m1tom2exampleSSL,cn=replica,cn=dc\3Dexample\2Cdc\3Dtest,cn=mapping tree,cn=config

Cordially,
Marc S.

On Mon, Apr 12, 2021 at 11:49 AM Gary Waters <gwaters-web@caltech.edu> wrote:
Hey Everyone,

I love the new dsconf python tool. Its great, and big upgrade over the
perl scripts that I think I have been using for decades.
However I am having a problem using it when making new replication
agreements between multiple masters.

How do I find the duplicates and how do i run dsconf to avoid that
duplicate?

Error after agreements are made:
Error (11) Replication error acquiring replica: Unable to acquire
replica: the replica has the same Replica ID as this one. Replication is
aborting. (duplicate replica ID detected)
Error (11) Replication error acquiring replica: duplicate replica ID
detected

I know how to delete the newly made agreements no problem, but how do I
recreate them to avoid the duplicates? when creating the agreements I
didnt see a way to set an id.
command for the individual agreement.. maybe I am doing something wrong.

This is how I setup the agreement:
     dsconf -D "cn=Directory Manager" -w $pass ldap://$supplier-
repl-agmt \
      create --suffix="ou=$suffix,o=school,c=us" --host=$consumer
--port=389 \
      --conn-protocol=StartTLS --bind-dn="cn=replication
manager,cn=config" \
      --bind-passwd="x" --bind-method=SIMPLE --init \
      $agreement_name

And this is how I setup the id and replication for the for the suffix:

dsconf -D "cn=Directory Manager" -w $pass ldap://$consumer replication \
  enable --suffix="ou=$suffix,o=school,c=us" --role="master"
--replica-id=$repid \
  --bind-dn="cn=replication manager,cn=config" --bind-passwd=XXX


In my case I have 3 masters that I need to setup MMR between, and this
error happens when I added the third. It says replication is already set
for the suffix as mmr, which is correct, but I cant set a new repid for
each aggreement via the first command.


Thank you everyone,
Gary

Other info:
rhel8.3
389-ds-base-libs-1.4.3.17-1.module_el8+10764+2b5f8656.x86_64
389-ds-base-1.4.3.17-1.module_el8+10764+2b5f8656.x86_64
_______________________________________________
389-users mailing list -- 389-users@lists.fedoraproject.org
To unsubscribe send an email to 389-users-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/389-users@lists.fedoraproject.org
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure

No comments:

Post a Comment