[Freeipa-devel] [PATCH 0098-0099] domain level 1 topology checks during IPA server uninstall

Martin Babinsky mbabinsk at redhat.com
Wed Dec 9 15:22:14 UTC 2015


On 12/09/2015 03:48 PM, Jan Cholasta wrote:
> On 2.12.2015 14:19, Martin Basti wrote:
>>
>>
>> On 02.12.2015 14:10, Martin Basti wrote:
>>>
>>>
>>> On 02.12.2015 14:08, Martin Babinsky wrote:
>>>> On 12/02/2015 10:45 AM, Martin Babinsky wrote:
>>>>> On 12/01/2015 02:40 PM, Martin Babinsky wrote:
>>>>>> On 11/30/2015 08:34 PM, Martin Basti wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 30.11.2015 18:41, Martin Babinsky wrote:
>>>>>>>> On 11/30/2015 06:15 PM, Martin Basti wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 30.11.2015 16:43, Martin Babinsky wrote:
>>>>>>>>>> On 11/30/2015 12:31 PM, Jan Cholasta wrote:
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> On 27.11.2015 14:58, Martin Babinsky wrote:
>>>>>>>>>>>> On 11/19/2015 06:19 PM, Martin Babinsky wrote:
>>>>>>>>>>>>> These two patches fix the following tickets:
>>>>>>>>>>>>>
>>>>>>>>>>>>> https://fedorahosted.org/freeipa/ticket/5377
>>>>>>>>>>>>> https://fedorahosted.org/freeipa/ticket/5409
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have added a new option '--ignore-disconnected-topology'
>>>>>>>>>>>>> which
>>>>>>>>>>>>> forces
>>>>>>>>>>>>> IPA master uninstall despite reported errors in topology.
>>>>>>>>>>>>> I'm not
>>>>>>>>>>>>> quite
>>>>>>>>>>>>> sure if we want to flood ipa-server-install with
>>>>>>>>>>>>> uninstall-specific
>>>>>>>>>>>>> options, maybe it is better to skip the check in unattended
>>>>>>>>>>>>> mode
>>>>>>>>>>>>> and
>>>>>>>>>>>>> just print a warning about disconnected topology and what
>>>>>>>>>>>>> to do
>>>>>>>>>>>>> about
>>>>>>>>>>>>> it.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I would like to hear your opinions about this.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> Attaching rebased and updated patches.
>>>>>>>>>>>
>>>>>>>>>>> Patch 0098: LGTM
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Patch 0099:
>>>>>>>>>>>
>>>>>>>>>>> a) This check should be done in Server.__init__() rather than
>>>>>>>>>>> install_check():
>>>>>>>>>>>
>>>>>>>>>>> +    if options.ignore_disconnected_topology:
>>>>>>>>>>> +        print("'--ignore-disconnected-topology' is used only
>>>>>>>>>>> during "
>>>>>>>>>>> +              "uninstallation")
>>>>>>>>>>> +        sys.exit(1)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> b)
>>>>>>>>>>> s/--ignore-disconnected-topology/--ignore-topology-disconnect/,
>>>>>>>>>>> for
>>>>>>>>>>> consistency with other options, e.g. --no-ui-redirect.
>>>>>>>>>>>
>>>>>>>>>>> Maybe even shorten it to --ignore-topology? But we probably
>>>>>>>>>>> don't
>>>>>>>>>>> want
>>>>>>>>>>> people to use this option much, so it might be better to keep it
>>>>>>>>>>> long?
>>>>>>>>>>>
>>>>>>>>>> I would rather leave it with the long option name, it is more
>>>>>>>>>> apparent
>>>>>>>>>> what this switch should be around.
>>>>>>>>>>>
>>>>>>>>>>> c) I'm fine with uninstall options, you can remove the TODO:
>>>>>>>>>>>
>>>>>>>>>>> +    # TODO: ask jcholast about uninstallation options
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Honza
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Attaching updated patches.
>>>>>>>>>>
>>>>>>>>> NACK
>>>>>>>>>
>>>>>>>>> ipa-server-install --uninstall
>>>>>>>>>
>>>>>>>>> 2015-11-30T17:14:30Z DEBUG Destroyed connection
>>>>>>>>> context.ldap2_140081152041808
>>>>>>>>> 2015-11-30T17:14:30Z DEBUG Traceback (most recent call last):
>>>>>>>>>    File
>>>>>>>>> "/usr/lib/python2.7/site-packages/ipapython/install/common.py",
>>>>>>>>> line 91, in _handle_exception
>>>>>>>>>      super(Continuous, self)._handle_exception(exc_info)
>>>>>>>>>    File
>>>>>>>>> "/usr/lib/python2.7/site-packages/ipapython/install/core.py",
>>>>>>>>> line 387, in _handle_exception
>>>>>>>>>      six.reraise(*exc_info)
>>>>>>>>>    File
>>>>>>>>> "/usr/lib/python2.7/site-packages/ipapython/install/core.py",
>>>>>>>>> line 439, in _handle_exception
>>>>>>>>>      super(ComponentBase, self)._handle_exception(exc_info)
>>>>>>>>>    File
>>>>>>>>> "/usr/lib/python2.7/site-packages/ipapython/install/core.py",
>>>>>>>>> line 387, in _handle_exception
>>>>>>>>>      six.reraise(*exc_info)
>>>>>>>>>    File
>>>>>>>>> "/usr/lib/python2.7/site-packages/ipapython/install/core.py",
>>>>>>>>> line 355, in __runner
>>>>>>>>>      step()
>>>>>>>>>    File
>>>>>>>>> "/usr/lib/python2.7/site-packages/ipapython/install/core.py",
>>>>>>>>> line 352, in <lambda>
>>>>>>>>>      step = lambda: next(self.__gen)
>>>>>>>>>    File
>>>>>>>>> "/usr/lib/python2.7/site-packages/ipapython/install/util.py",
>>>>>>>>> line 81, in run_generator_with_yield_from
>>>>>>>>>      six.reraise(*exc_info)
>>>>>>>>>    File
>>>>>>>>> "/usr/lib/python2.7/site-packages/ipapython/install/util.py",
>>>>>>>>> line 59, in run_generator_with_yield_from
>>>>>>>>>      value = gen.send(prev_value)
>>>>>>>>>    File
>>>>>>>>> "/usr/lib/python2.7/site-packages/ipapython/install/common.py",
>>>>>>>>> line 71, in _uninstall
>>>>>>>>>      for nothing in self._uninstaller(self.parent):
>>>>>>>>>    File
>>>>>>>>> "/usr/lib/python2.7/site-packages/ipaserver/install/server/install.py",
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> line 1409, in main
>>>>>>>>>      uninstall_check(self)
>>>>>>>>>    File
>>>>>>>>> "/usr/lib/python2.7/site-packages/ipaserver/install/server/install.py",
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> line 265, in decorated
>>>>>>>>>      func(installer)
>>>>>>>>>    File
>>>>>>>>> "/usr/lib/python2.7/site-packages/ipaserver/install/server/install.py",
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> line 1140, in uninstall_check
>>>>>>>>>      api, masters, options.ignore_disconnected_topology)
>>>>>>>>> AttributeError: 'uninstaller(Server)' object has no attribute
>>>>>>>>> 'ignore_disconnected_topology'
>>>>>>>>>
>>>>>>>>> 2015-11-30T17:14:30Z ERROR 'uninstaller(Server)' object has no
>>>>>>>>> attribute
>>>>>>>>> 'ignore_disconnected_topology'
>>>>>>>>> 2015-11-30T17:14:30Z INFO The ipa-server-install command was
>>>>>>>>> successful
>>>>>>>>>
>>>>>>>>
>>>>>>>> Sorry I have failed horribly during option rename. Attaching patch
>>>>>>>> that should actually work.
>>>>>>>>
>>>>>>> functional ACK
>>>>>> Attaching rebased patches reflecting the recent changes in the
>>>>>> handling
>>>>>> of managed topology suffixes handling.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> Jan had some more suggestions to the patches. Attaching updated
>>>>> version.
>>>>>
>>>>>
>>>>>
>>>> Attaching updated patch 99 with fixed error message.
>>>>
>>> Pushed to master: b8c619a7139bd7b65caa03b68431e22791ff19bf
>>>
>> ACK :-)
>
> I was doing some unrelated testing with domain level 0 and forgot to
> remove --ignore-topology disconnect from my command line before
> uninstalling server, which gave me an error that the option cannot be
> used in domain level 0 and I had to re-run ipa-server-install
> --uninstall with the option removed.
>
> IMO it would be better for UX if the option was ignored in domain level
> 0, since topology disconnects are *always* ignored in domain level 0.
> (Right?)
>
> The attached patch fixes that.
>

ACK.

-- 
Martin^3 Babinsky




More information about the Freeipa-devel mailing list