diff options
author | Martin Kosek <mkosek@redhat.com> | 2012-07-11 16:22:13 +0200 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2012-07-13 16:18:45 +0200 |
commit | c20d4c71b87365b3b8d9c53418a79f992e68cd00 (patch) | |
tree | b6402b034fe1a8a2ae2d2e3b32746fc66830f789 | |
parent | 378238b14e9faec4b871ff0178aa78e62e9b3580 (diff) | |
download | freeipa-c20d4c71b87365b3b8d9c53418a79f992e68cd00.tar.gz freeipa-c20d4c71b87365b3b8d9c53418a79f992e68cd00.tar.xz freeipa-c20d4c71b87365b3b8d9c53418a79f992e68cd00.zip |
Print ipa-ldap-updater errors during RPM upgrade
ipa-ldap-updater does a lot of essential LDAP changes and if it
fails, user may be surprised after the upgrade why things does not
work.
Modify ipa-ldap-updater to print ERROR logging messages by default
and modify RPM upgrade scriptlet to show these errors to user. Console
error messages are now formated in a more user-friendly way.
Information message stating that IPA is not configured and i.e. there
is nothing to be updated is not printer to stderr so that it does
not pop up for every freeipa-server package update when IPA is not
configured.
https://fedorahosted.org/freeipa/ticket/2892
-rw-r--r-- | freeipa.spec.in | 2 | ||||
-rwxr-xr-x | install/tools/ipa-ldap-updater | 16 |
2 files changed, 13 insertions, 5 deletions
diff --git a/freeipa.spec.in b/freeipa.spec.in index deeb3341b..710631091 100644 --- a/freeipa.spec.in +++ b/freeipa.spec.in @@ -465,7 +465,7 @@ fi %posttrans server # This must be run in posttrans so that updates from previous # execution that may no longer be shipped are not applied. -/usr/sbin/ipa-ldap-updater --upgrade >/dev/null 2>&1 || : +/usr/sbin/ipa-ldap-updater --upgrade >/dev/null || : %preun server if [ $1 = 0 ]; then diff --git a/install/tools/ipa-ldap-updater b/install/tools/ipa-ldap-updater index 197b840b0..8f5c76645 100755 --- a/install/tools/ipa-ldap-updater +++ b/install/tools/ipa-ldap-updater @@ -96,10 +96,15 @@ def main(): run_plugins = True if os.getegid() == 0: - installutils.check_server_configuration() + try: + installutils.check_server_configuration() + except RuntimeError, e: + print unicode(e) + sys.exit(1) else: if not os.path.exists('/etc/ipa/default.conf'): - sys.exit("IPA is not configured on this system.") + print "IPA is not configured on this system." + sys.exit(1) if options.upgrade: sys.exit('Upgrade can only be done as root') if run_plugins: @@ -115,10 +120,13 @@ def main(): if dirman_password is None: sys.exit("\nDirectory Manager password required") + console_format = '%(levelname)s: %(message)s' if options.upgrade: - standard_logging_setup('/var/log/ipaupgrade.log', verbose=True, debug=options.debug, filemode='a') + standard_logging_setup('/var/log/ipaupgrade.log', debug=options.debug, + console_format=console_format, filemode='a') else: - standard_logging_setup(None, verbose=True, debug=options.debug) + standard_logging_setup(None, console_format=console_format, + debug=options.debug) cfg = dict ( in_server=True, |