ipa-server-install --uninstall --unattended returns 0 even when uninstallation has failed with a fatal error.
ipa-server-install --uninstall --unattended
ipa-server-install --uninstall --unattended --debug
echo $?
# ipa-server-install --uninstall --unattended WARNING: Failed to connect to Directory Server to find information about replication agreements. Uninstallation will continue despite the possible existing replication agreements. If this server is the last instance of CA, KRA, or DNSSEC master, uninstallation may result in data loss. Shutting down all IPA services Configuring certmonger to stop tracking system certificates for KRA Configuring certmonger to stop tracking system certificates for CA ipapython.install.common: ERROR {'desc': "Can't contact LDAP server", 'errno': 111, 'info': 'Connection refused'} # echo $? 0
error code should not be 0
I think the issue is caused by the exception handler of ipapython.install.common.Continuous. It swallows the exception and does not set an error indicator.
ipapython.install.common.Continuous
ipapython.ipautil: DEBUG stderr= ipapython.install.common: DEBUG Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/ipapython/install/common.py", line 94, in _handle_execute_exception super(Continuous, self)._handle_execute_exception(exc_info) File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 459, in _handle_execute_exception self._handle_exception(exc_info) File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 449, in _handle_exception six.reraise(*exc_info) File "/usr/lib/python3.6/site-packages/six.py", line 686, in reraise raise value File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 420, in __runner step() File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 417, in <lambda> step = lambda: next(self.__gen) File "/usr/lib/python3.6/site-packages/ipapython/install/util.py", line 81, in run_generator_with_yield_from six.reraise(*exc_info) File "/usr/lib/python3.6/site-packages/six.py", line 686, in reraise raise value File "/usr/lib/python3.6/site-packages/ipapython/install/util.py", line 59, in run_generator_with_yield_from value = gen.send(prev_value) File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 654, in _configure next(executor) File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 430, in __runner exc_handler(exc_info) File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 459, in _handle_execute_exception self._handle_exception(exc_info) File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 517, in _handle_exception self.__parent._handle_exception(exc_info) File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 449, in _handle_exception six.reraise(*exc_info) File "/usr/lib/python3.6/site-packages/six.py", line 686, in reraise raise value File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 514, in _handle_exception super(ComponentBase, self)._handle_exception(exc_info) File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 449, in _handle_exception six.reraise(*exc_info) File "/usr/lib/python3.6/site-packages/six.py", line 686, in reraise raise value File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 420, in __runner step() File "/usr/lib/python3.6/site-packages/ipapython/install/core.py", line 417, in <lambda> step = lambda: next(self.__gen) File "/usr/lib/python3.6/site-packages/ipapython/install/util.py", line 81, in run_generator_with_yield_from six.reraise(*exc_info) File "/usr/lib/python3.6/site-packages/six.py", line 686, in reraise raise value File "/usr/lib/python3.6/site-packages/ipapython/install/util.py", line 59, in run_generator_with_yield_from value = gen.send(prev_value) File "/usr/lib/python3.6/site-packages/ipapython/install/common.py", line 74, in _uninstall for _nothing in self._uninstaller(self.parent): File "/usr/lib/python3.6/site-packages/ipaserver/install/server/__init__.py", line 589, in main uninstall(self) File "/usr/lib/python3.6/site-packages/ipaserver/install/server/install.py", line 250, in decorated func(installer) File "/usr/lib/python3.6/site-packages/ipaserver/install/server/install.py", line 1083, in uninstall custodiainstance.CustodiaInstance().uninstall() File "/usr/lib/python3.6/site-packages/ipaserver/install/custodiainstance.py", line 76, in uninstall keystore.remove_server_keys() File "/usr/lib/python3.6/site-packages/ipaserver/secrets/kem.py", line 250, in remove_server_keys self.remove_keys('host') File "/usr/lib/python3.6/site-packages/ipaserver/secrets/kem.py", line 258, in remove_keys ldapconn.del_key(KEY_USAGE_SIG, principal) File "/usr/lib/python3.6/site-packages/ipaserver/secrets/kem.py", line 169, in del_key dn = self._get_dn(usage, principal) File "/usr/lib/python3.6/site-packages/ipaserver/secrets/kem.py", line 133, in _get_dn return DN(('cn', name), service_rdn, self.keysbase) File "/usr/lib/python3.6/site-packages/ipaserver/secrets/kem.py", line 40, in keysbase return '%s,%s' % (IPA_REL_BASE_DN, self.basedn) File "/usr/lib/python3.6/site-packages/ipaserver/secrets/common.py", line 24, in basedn conn = self.connect() File "/usr/lib/python3.6/site-packages/ipaserver/secrets/common.py", line 38, in connect conn.sasl_interactive_bind_s('', auth_tokens) File "/usr/lib64/python3.6/site-packages/ldap/ldapobject.py", line 431, in sasl_interactive_bind_s return self._ldap_call(self._l.sasl_interactive_bind_s,who,auth,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls),sasl_flags) File "/usr/lib64/python3.6/site-packages/ldap/ldapobject.py", line 298, in _ldap_call reraise(exc_type, exc_value, exc_traceback) File "/usr/lib64/python3.6/site-packages/ldap/compat.py", line 43, in reraise raise exc_value File "/usr/lib64/python3.6/site-packages/ldap/ldapobject.py", line 282, in _ldap_call result = func(*args,**kwargs) ldap.SERVER_DOWN: {'desc': "Can't contact LDAP server", 'errno': 111, 'info': 'Connection refused'}
Metadata Update from @fbarreto: - Issue assigned to fbarreto
Metadata Update from @fbarreto: - Assignee reset
Metadata Update from @rcritten: - Issue priority set to: normal - Issue set to the milestone: FreeIPA 4.6.4
Metadata Update from @rcritten: - Issue assigned to rcritten
master:
ipa-4-6:
Metadata Update from @cheimes: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.