URL: https://github.com/freeipa/freeipa/pull/179
Author: Akasurde
 Title: #179: Fix for handling CalledProcessError in authconfig
Action: synchronized

To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/179/head:pr179
git checkout pr179
From 76df5889ddc0559134bdc184340941d87699d021 Mon Sep 17 00:00:00 2001
From: Abhijeet Kasurde <akasu...@redhat.com>
Date: Mon, 24 Oct 2016 10:50:03 +0530
Subject: [PATCH] Fix for handling CalledProcessError in authconfig

NIS configuration error should be hidden from user
while running ipa-client-install

Fixes https://fedorahosted.org/freeipa/ticket/5244

Signed-off-by: Abhijeet Kasurde <akasu...@redhat.com>
---
 ipaplatform/redhat/authconfig.py | 18 +++++++++++++++---
 ipaplatform/redhat/paths.py      |  1 +
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/ipaplatform/redhat/authconfig.py b/ipaplatform/redhat/authconfig.py
index 7b06d58..db92016 100644
--- a/ipaplatform/redhat/authconfig.py
+++ b/ipaplatform/redhat/authconfig.py
@@ -18,11 +18,14 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+from ipaplatform.paths import paths
 from ipapython import ipautil
+from ipapython.admintool import ScriptError
 import os
 
 FILES_TO_NOT_BACKUP = ['passwd', 'group', 'shadow', 'gshadow']
 
+
 class RedHatAuthConfig(object):
     """
     AuthConfig class implements system-independent interface to configure
@@ -85,10 +88,16 @@ def execute(self, update=True):
             self.add_option("update")
 
         args = self.build_args()
-        ipautil.run(["/usr/sbin/authconfig"] + args)
+        try:
+            ipautil.run([paths.AUTHCONFIG] + args)
+        except ipautil.CalledProcessError:
+            raise ScriptError("Failed to execute authconfig command")
 
     def backup(self, path):
-        ipautil.run(["/usr/sbin/authconfig", "--savebackup", path])
+        try:
+            ipautil.run([paths.AUTHCONFIG, "--savebackup", path])
+        except ipautil.CalledProcessError:
+            raise ScriptError("Failed to execute authconfig command")
 
         # do not backup these files since we don't want to mess with
         # users/groups during restore. Authconfig doesn't seem to mind about
@@ -101,4 +110,7 @@ def backup(self, path):
                 pass
 
     def restore(self, path):
-        ipautil.run(["/usr/sbin/authconfig", "--restorebackup", path])
+        try:
+            ipautil.run([paths.AUTHCONFIG, "--restorebackup", path])
+        except ipautil.CalledProcessError:
+            raise ScriptError("Failed to execute authconfig command")
diff --git a/ipaplatform/redhat/paths.py b/ipaplatform/redhat/paths.py
index b27b065..aaf71e2 100644
--- a/ipaplatform/redhat/paths.py
+++ b/ipaplatform/redhat/paths.py
@@ -33,6 +33,7 @@ class RedHatPathNamespace(BasePathNamespace):
     if sys.maxsize > 2**32:
         LIBSOFTHSM2_SO = BasePathNamespace.LIBSOFTHSM2_SO_64
         PAM_KRB5_SO = BasePathNamespace.PAM_KRB5_SO_64
+    AUTHCONFIG = '/usr/sbin/authconfig'
 
 
 paths = RedHatPathNamespace()
-- 
Manage your subscription for the Freeipa-devel mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-devel
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to