diff options
Diffstat (limited to 'ipaclient')
-rw-r--r-- | ipaclient/remote_plugins/__init__.py | 10 |
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): |