diff options
Diffstat (limited to 'ipaclient/remote_plugins/schema.py')
-rw-r--r-- | ipaclient/remote_plugins/schema.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ipaclient/remote_plugins/schema.py b/ipaclient/remote_plugins/schema.py index 8ebc3a9f8..cd1d5d607 100644 --- a/ipaclient/remote_plugins/schema.py +++ b/ipaclient/remote_plugins/schema.py @@ -414,8 +414,13 @@ class Schema(object): logger.warning('Failed to load server properties: {}' ''.format(e)) - if no_info or exp < time.time() or not Schema._in_cache(fp): + force_check = ((not getattr(self, '_schema_checked', False)) and + self._api.env.force_schema_check) + + if (force_check or + no_info or exp < time.time() or not Schema._in_cache(fp)): (fp, exp) = self._get_schema() + self._schema_checked = True _ensure_dir_created(SERVERS_DIR) try: with self._open_server_info(self._api.env.server, 'w') as sc: |