diff options
Diffstat (limited to 'lib/ansible/vars/__init__.py')
-rw-r--r-- | lib/ansible/vars/__init__.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/ansible/vars/__init__.py b/lib/ansible/vars/__init__.py index 4975839d6b..793e346ada 100644 --- a/lib/ansible/vars/__init__.py +++ b/lib/ansible/vars/__init__.py @@ -21,8 +21,7 @@ __metaclass__ = type import os -from collections import defaultdict -from collections import MutableMapping +from collections import defaultdict, MutableMapping from ansible.compat.six import iteritems from jinja2.exceptions import UndefinedError @@ -619,6 +618,20 @@ class VariableManager: return data + def clear_playbook_hostgroup_vars_files(self, path): + for f in self._host_vars_files.keys(): + keepers = [] + for entry in self._host_vars_files[f]: + if os.path.dirname(entry.path) != os.path.join(path, 'host_vars'): + keepers.append(entry) + self._host_vars_files[f] = keepers + for f in self._group_vars_files.keys(): + keepers = [] + for entry in self._group_vars_files[f]: + if os.path.dirname(entry.path) != os.path.join(path, 'group_vars'): + keepers.append(entry) + self._group_vars_files[f] = keepers + def clear_facts(self, hostname): ''' Clears the facts for a host |