summaryrefslogtreecommitdiff
path: root/lib/ansible/vars/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ansible/vars/__init__.py')
-rw-r--r--lib/ansible/vars/__init__.py17
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