[Freeipa-devel] topology plugin woes

Ludwig Krispenz lkrispen at redhat.com
Thu Jul 2 07:15:03 UTC 2015


On 07/01/2015 10:15 PM, Simo Sorce wrote:
> On Wed, 2015-07-01 at 15:00 -0400, Simo Sorce wrote:
>> On Wed, 2015-07-01 at 14:44 -0400, Simo Sorce wrote:
>>> On Wed, 2015-07-01 at 14:34 -0400, Simo Sorce wrote:
>>>> I am working on the replica promotion code and suddenly the topology
>>>> plugin is getting in the way.
>>>>
>>>> First thing I noticed is that it converted an agreement into a segment
>>>> even though my domain level is 0, is this expected ? I thought we'd
>>>> enable the plugin only when level -> 1
>>>>
>>>> By taking over immediately it will break ipa management tools from older
>>>> serves which know nothing about dealing with segments, they only know
>>>> about direct removal of replication agreements.
>>>>
>>>> The other problem is that it seem I can't remove the replication
>>>> agreement even if I removed all references to the (failed) replica I
>>>> installed. It complains it would cause split brain .. but this is the
>>>> last replica and I already removed the master's computer object, why is
>>>> the topology plugin not recognizing the master is no more and not
>>>> letting me remove the segment ?
>>> Ugh, I just found the Domain Level is set to 1 ... ok so it is ok the
>>> topology is managed, but why can't I remove the segment if the server
>>> object is gone ?
>>>
>>> Simo.
>>>
>>> -- 
>>> Simo Sorce * Red Hat, Inc * New York
>>>
>> Patch 0018 fully solved this problem, next time I'll dig the uncommitted
>> patches before opening my mouth :-)
> A followup question though, why is the toplogy plugin not seeing a new
> agreement (created by another replica that is being installed) until the
> server is restarted ?
no, it does not require restart, but the timing may make it look like.
If a replica is installed the agreement "meTomasterxxxx" is created in 
cn=config and the agreement is not yet managed (the replica master entry 
is not yet added and known to be managed), otherwise the add of the 
agreement would be rejected.
After adding the agreements the replica is initialized from the master 
and when the replica is coming back online, the topo plugin will check 
what actions are required by the new data. But because the plugins are 
coming back online after an initialization in an undefined order (in 
fact, the multimaster replication plugin is getting active after the 
topo plugin), the topo plugin has a delay before acting and creating new 
stuff, otherwise generated modifications will not be replicated further.
next the master entry for the replica is added, before the delay had 
expired, and the replica insatll restarts the server, so the segment is 
created just after restart.

>
> Simo.
>




More information about the Freeipa-devel mailing list