[Freeipa-users] Question about removed replica, take two

Ludwig Krispenz lkrispen at redhat.com
Wed Oct 5 14:43:12 UTC 2016


Hi,

the RUV in the replication agreement is maintained to control changelog 
trimming, no changes should be deleted from the changelog which have not 
been seen by all consumers. Since not always a connection for a 
replication agreement can be established, eg if the consumer is down, 
this information is made persistent and kept in the replication agreement.
So, if you have references to removed servers in the agreement this 
should do no harm since teh changes have alredy be removed from the 
changelog during cleanallruv.
The only scenario a problem could arise is if you reinstall a replica on 
one of the removed with a new replica ID, then you could end up with two 
replica ids with the same url and get the attrlist_replace errors.

The removal of the replica id from the replication agreement RUV is noe 
handled by cleanallruv (upstream ticket #48414), but you can edit the 
dse.ldif and remove them manually

Regards,
Ludwig

On 10/05/2016 03:07 PM, John Desantis wrote:
> Hello all (again),
>
> I think my reference to a disease prevented my message from being
> delivered, despite seeing it posted on the list archive.  I apologize
> in advance for the additional "noise".
>
> Anyways, I was hoping some lingering questions could be answered
> regarding some visible entries via ldapsearch, which manifest a
> removed replica's hostname [1].
>
> Running the ipa-replica-manage and ipa-csreplica-manage commands do
> not show the host in question any longer, but when I run a few
> directory searches on each replica using the commands below:
>
> # ldapsearch -Y GSSAPI -o ldif-wrap=no -h localhost -D "cn=directory
> manager" -b "cn=config" objectclass=nsds5replica
> # ldapsearch -Y GSSAPI -o ldif-wrap=no -h localhost -D "cn=directory
> manager" -b "cn=config" objectclass=nsds5replicationagreement
>
> I'm able to see the old host on the master, but not on the replicas.  See below.
>
> # master, replica id 4:
> ldapsearch -Y GSSAPI -o ldif-wrap=no -h localhost -D "cn=directory
> manager" -b "cn=config" objectclass=nsds5replica|grep oldhost
> nsDS5ReplicaBindDN:
> krbprincipalname=ldap/oldhost.dom.dom.dom at DOM.DOM.DOM,cn=services,cn=accounts,dc=dom,dc=dom,dc=dom
>
> ldapsearch -Y GSSAPI -o ldif-wrap=no -h localhost -D "cn=directory
> manager" -b "cn=config" objectclass=nsds5replicationagreement|grep
> oldhost
> nsds50ruv: {replica 24 ldap://oldhost.dom.dom.dom:389}
> 5447f252000000180000 5447f861000000180000
> nsruvReplicaLastModified: {replica 24 ldap://oldhost.dom.dom.dom:389} 00000000
> nsds50ruv: {replica 24 ldap://oldhost.dom.dom.dom:389}
> 5447f252000000180000 5447f56b000200180000
> nsruvReplicaLastModified: {replica 24 ldap://oldhost.dom.dom.dom:389} 00000000
>
> It's listed twice due to the other hosts in the topology.
>
> # replica id 22
> ldapsearch -Y GSSAPI -o ldif-wrap=no -h localhost -D "cn=directory
> manager" -b "cn=config" objectclass=nsds5replica|grep oldhost
> ldapsearch -Y GSSAPI -o ldif-wrap=no -h localhost -D "cn=directory
> manager" -b "cn=config" objectclass=nsds5replicationagreement|grep
> oldhost
>
> # replica id 21
> ldapsearch -Y GSSAPI -o ldif-wrap=no -h localhost -D "cn=directory
> manager" -b "cn=config" objectclass=nsds5replica|grep oldhost
> ldapsearch -Y GSSAPI -o ldif-wrap=no -h localhost -D "cn=directory
> manager" -b "cn=config" objectclass=nsds5replicationagreement|grep
> oldhost
>
> The other two replicas no longer have the reference to the old host
> after the CLEANALLRUV and CLEANRUV tasks performed by ldapmodify.  I
> then read via [2] that the dse.ldif could be manually edited to remove
> references, but I'm not sure if that should be done if the general
> opinion is that the old references aren't going to cause a problem.
> Based upon the information above, is having a reference to the hold
> host via the ldapsearch outputs above going to be a problem?  If the
> entry shouldn't be there, should the ldapmodify be performed against
> the "cn=meTomaster.dom.dom.dom,cn=replica,cn=dc\3Ddom\2Cdc\3Ddom\2Cdc\3Ddom,cn=mapping
> tree,cn=config" bases?
>
> For reference, these are the commands I ran to get to state [1]:
>
> # master
> ldapmodify -x -W -h localhost -D "cn=directory manager" <<EOF
> dn: cn=replica,cn=dc\3Ddom\2Cdc\3Ddom\2Cdc\3Ddom,cn=mapping tree,cn=config
> changetype: modify
> replace: nsds5task
> nsds5task: CLEANALLRUV24
> EOF
>
> ldapmodify -a -x -W -h localhost -D "cn=directory manager" <<EOF
> dn: cn=abort 24,cn=abort cleanallruv,cn=tasks,cn=config
> objectclass: extensibleObject
> cn: abort 24
> replica-base-dn: dc=dom,dc=dom,dc=dom
> replica-id: 24
> EOF
>
> ldapmodify -h localhost -p 389 -x -W -D "cn=directory manager" <<EOF
> dn: cn=clean 97,cn=cleanallruv,cn=tasks,cn=config
> changetype: add
> objectclass: top
> objectclass: extensibleObject
> replica-base-dn: dc=dom,dc=dom,dc=dom
> replica-id: 97
> cn: clean 97
> EOF
>
> # single host which hung on CLEANALLRUV
> ldapmodify -a -x -W -h localhost -D "cn=directory manager" <<EOF
> dn: cn=replica,cn=dc\3Ddom\2Cdc\3Ddom\2Cdc\3Ddom,cn=mapping tree,cn=config
> changetype: modify
> replace: nsds5task
> nsds5task: CLEANRUV24
> EOF
>
>
> [1] https://www.redhat.com/archives/freeipa-users/2016-August/msg00331.html
> [2] https://www.redhat.com/archives/freeipa-users/2015-June/msg00382.html
>
> Thanks!
> John DeSantis
>

-- 
Red Hat GmbH, http://www.de.redhat.com/, Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael O'Neill, Eric Shander




More information about the Freeipa-users mailing list