summaryrefslogtreecommitdiffstats
path: root/ipaclient
diff options
context:
space:
mode:
Diffstat (limited to 'ipaclient')
-rw-r--r--ipaclient/remote_plugins/__init__.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/ipaclient/remote_plugins/__init__.py b/ipaclient/remote_plugins/__init__.py
index 50cfc37dc..da7004d62 100644
--- a/ipaclient/remote_plugins/__init__.py
+++ b/ipaclient/remote_plugins/__init__.py
@@ -41,8 +41,14 @@ class ServerInfo(collections.MutableMapping):
try:
with open(self._path, 'r') as sc:
self._dict = json.load(sc)
- except EnvironmentError as e:
- if e.errno != errno.ENOENT:
+ except Exception as e:
+ if (isinstance(e, EnvironmentError) and
+ e.errno == errno.ENOENT): # pylint: disable=no-member
+ # ignore non-existent file, this happens when the cache was
+ # erased or the server is contacted for the first time
+ pass
+ else:
+ # warn that the file is unreadable, probably corrupted
logger.warning('Failed to read server info: {}'.format(e))
def _write(self):