freeipa/ipapython
Rob Crittenden 68c7b03689 Return a value if exceptions are raised in server uninstall
The AdminTool class purports to "call sys.exit() with the return
value" but most of the run implementations returned no value, or
the methods they called returned nothing so there was nothing to
return, so this was a no-op.

The fix is to capture and bubble up the return values which will
return 1 if any exceptions are caught.

This potentially affects other users in that when executing the
steps of an installer or uninstaller the highest return code
will be the exit value of that installer.

Don't use the Continuous class because it doesn't add any
value and makes catching the exceptions more difficult.

https://pagure.io/freeipa/issue/7330

Signed-off-by: Rob Crittenden rcritten@redhat.com
Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
2018-03-19 17:38:41 +01:00
..
install Return a value if exceptions are raised in server uninstall 2018-03-19 17:38:41 +01:00
__init__.py Rename ipa-python directory to ipapython so it is a real python library 2009-02-09 14:35:15 -05:00
admintool.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
certdb.py Remove unused modutils wrappers from NSS/CertDB 2018-02-23 11:04:10 +01:00
config.py Fix pylint warnings inconsistent-return-statements 2017-12-18 11:51:14 +01:00
cookie.py logging: remove object-specific loggers 2017-07-14 15:55:59 +02:00
dn.py Fix pylint error in ipapython/dn.py 2018-01-23 17:10:16 +01:00
dnsutil.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
dogtag.py logging: do not log into the root logger 2017-07-14 15:55:59 +02:00
errors.py Replace StandardError with Exception 2015-09-30 10:51:36 +02:00
graph.py ipapython/graph.py redundant variable fix 2017-07-14 09:16:13 +02:00
ipa_log_manager.py logging: make sure logging level is set to proper value 2017-07-26 15:57:56 +02:00
ipaldap.py Unified ldap_initialize() function 2018-02-15 18:32:17 +01:00
ipautil.py Add better CalledProcessError and run() logging 2018-02-20 13:03:01 +01:00
ipavalidate.py Change FreeIPA license to GPLv3+ 2010-12-20 17:19:53 -05:00
kerberos.py kerberos: fix sorting Principal objects 2017-08-17 09:56:01 +02:00
kernel_keyring.py Replace hard-coded paths with path constants 2018-02-08 09:32:12 +01:00
Makefile.am ipapython: fix DEFAULT_PLUGINS in version.py 2017-03-09 18:39:48 +01:00
nsslib.py Remove ipapython.nsslib as it is not used anymore 2017-03-01 09:43:41 +00:00
README Replace DNS client based on acutil with python-dns 2012-05-24 13:55:56 +02:00
session_storage.py Fix pylint warnings inconsistent-return-statements 2017-12-18 11:51:14 +01:00
setup.cfg Port all setup.py to setuptools 2016-10-20 18:43:37 +02:00
setup.py Have all the scripts run in python 3 by default 2018-02-15 18:43:12 +01:00
ssh.py Fix pylint warnings inconsistent-return-statements 2017-12-18 11:51:14 +01:00
version.py.in ipapython: fix DEFAULT_PLUGINS in version.py 2017-03-09 18:39:48 +01:00

This is a set of libraries common to IPA clients and servers though mostly
geared currently towards command-line tools.

A brief overview:

config.py - identify the IPA server domain and realm. It uses python-dns to
            try to detect this information first and will fall back to
            /etc/ipa/default.conf if that fails.

ipautil.py - helper functions

entity.py - entity is the main data type. User and Group extend this class
            (but don't add anything currently).

ipavalidate.py - basic data validation routines