From f0f48ec14f3ff55852393927533ffd253cb5a04b Mon Sep 17 00:00:00 2001 From: Martin Babinsky Date: Thu, 15 Dec 2016 17:09:12 +0100 Subject: [PATCH] Make `kadmin` family of functions return the result of ipautil.run This allows for diagnose the output and error code of these operations. Otherwise there is no way to infer their success or failure apart from inspecting logs post-mortem. https://fedorahosted.org/freeipa/ticket/6561 Reviewed-By: Pavel Vomacka --- ipaserver/install/installutils.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ipaserver/install/installutils.py b/ipaserver/install/installutils.py index 597d74a1d..07e438d6c 100644 --- a/ipaserver/install/installutils.py +++ b/ipaserver/install/installutils.py @@ -446,14 +446,17 @@ def get_directive(filename, directive, separator=' '): return None def kadmin(command): - ipautil.run(["kadmin.local", "-q", command, - "-x", "ipa-setup-override-restrictions"]) + return ipautil.run(["kadmin.local", "-q", command, + "-x", "ipa-setup-override-restrictions"], + capture_output=True, + capture_error=True) + def kadmin_addprinc(principal): - kadmin("addprinc -randkey " + principal) + return kadmin("addprinc -randkey " + principal) def kadmin_modprinc(principal, options): - kadmin("modprinc " + options + " " + principal) + return kadmin("modprinc " + options + " " + principal) def create_keytab(path, principal): try: @@ -462,7 +465,7 @@ def create_keytab(path, principal): except os.error: root_logger.critical("Failed to remove %s." % path) - kadmin("ktadd -k " + path + " " + principal) + return kadmin("ktadd -k " + path + " " + principal) def resolve_ip_addresses_nss(fqdn): """Get list of IP addresses for given host (using NSS/getaddrinfo).