From d9ae9ee1b5397765ba7f184c7647bd36708ca0e8 Mon Sep 17 00:00:00 2001 From: Florence Blanc-Renaud Date: Jul 01 2016 07:01:21 +0000 Subject: Do not log error when removing a non-existing file When the uninstaller tries to remove /etc/systemd/system/httpd.d/ipa.conf and the file does not exist, only log to debug instead of error. https://fedorahosted.org/freeipa/ticket/6012 Reviewed-By: Martin Basti --- diff --git a/ipaplatform/redhat/tasks.py b/ipaplatform/redhat/tasks.py index 294a9fe..8ac8851 100644 --- a/ipaplatform/redhat/tasks.py +++ b/ipaplatform/redhat/tasks.py @@ -29,6 +29,7 @@ import os import socket import base64 import traceback +import errno from cffi import FFI from ctypes.util import find_library @@ -466,10 +467,16 @@ class RedHatTaskNamespace(BaseTaskNamespace): try: os.unlink(paths.SYSTEMD_SYSTEM_HTTPD_IPA_CONF) except OSError as e: - root_logger.error( - 'Error removing %s: %s', - paths.SYSTEMD_SYSTEM_HTTPD_IPA_CONF, e - ) + if e.errno == errno.ENOENT: + root_logger.debug( + 'Trying to remove %s but file does not exist', + paths.SYSTEMD_SYSTEM_HTTPD_IPA_CONF + ) + else: + root_logger.error( + 'Error removing %s: %s', + paths.SYSTEMD_SYSTEM_HTTPD_IPA_CONF, e + ) def set_hostname(self, hostname): ipautil.run([paths.BIN_HOSTNAMECTL, 'set-hostname', hostname])