[Freeipa-devel] [PATCH 0093] perform connectivity checks for all topology suffixes during node deletion
Petr Vobornik
pvoborni at redhat.com
Thu Nov 12 13:04:56 UTC 2015
On 11/10/2015 05:43 PM, Martin Babinsky wrote:
> On 11/04/2015 06:50 PM, Petr Vobornik wrote:
>> On 11/04/2015 01:30 PM, Martin Babinsky wrote:
>>> On 10/30/2015 05:06 PM, Martin Babinsky wrote:
>>>> On 10/30/2015 03:38 PM, Petr Vobornik wrote:
>>>>> On 10/30/2015 03:26 PM, Martin Babinsky wrote:
>>>>>> patch for https://fedorahosted.org/freeipa/ticket/5309
>>>>>>
>>>>>> The ticket itself is about connectivity checks in topology suffixes,
>>>>>> but
>>>>>> there is a code (install/tools/ipa-replica-manage starting at line
>>>>>> 788
>>>>>> after applying my patch) which monitors whether the segments pointing
>>>>>> to/from the deleted host are already deleted.
>>>>>>
>>>>>> These checks are currently hardcoded for 'realm' prefix, should we
>>>>>> generalize them as well or is it a part of other effort?
>>>>>>
>>>>>
>>>>> Could be separate patch but yes.
>>>> Ok I have included it in the attached patch so that both of these
>>>> operations are performed for all suffixes.
>>>>
>>>>
>>>>
>>> Hmm, I'm thinking whether the 'check_last_link_managed' and
>>> 'check_deleted_segments' should not be called per-suffix, but should
>>> themselves check all suffixes available. This could make the fix for
>>> https://fedorahosted.org/freeipa/ticket/5409 also easier.
>>>
>>
>> Depends if the output is reusable. If so then why not.
>> check_last_link_managed basically adds text to several
>> get_topology_connection_errors calls.
>
> Attaching updated patch.
>
I'm not sure about (pseudo code):
topo_errors = ([], [])
for each suffix:
topo_errors[0].extend(orig_errors)
topo_errors[1].extend(new_errors)
return topo_errors
In check_deleted_segments wait_for_segment_removal is per-suffix check
but uses topo_errors which contains errors from both suffices. Topo
erros are used to relax the check if topology is disconnected but this
might relax it too much.
I would change the errors to per-suffix as well, e.g.:
topo_errors = {}
for each suffix:
topo_errors[suffix_name] = (orig_errors, new_errors)
return topo_errors
Otherwise it looks OK (not tested yet).
--
Petr Vobornik
More information about the Freeipa-devel
mailing list