Skip to content

Commit

Permalink
Make sure we add host/group vars files when parsing inventory
Browse files Browse the repository at this point in the history
Also fixes a bug where add_host was not adding the vars files

Fixes ansible#16117
  • Loading branch information
jimi-c committed Jun 6, 2016
1 parent 61f132a commit 560532d
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
4 changes: 3 additions & 1 deletion lib/ansible/inventory/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,10 +148,12 @@ def parse_inventory(self, host_list):
for g in self.groups:
group = self.groups[g]
group.vars = combine_vars(group.vars, self.get_group_variables(group.name))
self.get_group_vars(group)

# set host vars from host_vars/ files and vars plugins
for host in self.get_hosts():
host.vars = combine_vars(host.vars, self.get_host_variables(host.name))
self.get_host_vars(host)

def _match(self, str, pattern_str):
try:
Expand Down Expand Up @@ -703,7 +705,7 @@ def set_playbook_basedir(self, dir_name):

found_host_vars = self._find_host_vars_files(self._playbook_basedir)
if found_host_vars:
self._host_vars_files = self._find_host_vars_files(self._playbook_basedir)
self._host_vars_files = self._host_vars_files.union(found_host_vars)
# get host vars from host_vars/ files
for host in self.get_hosts():
self.get_host_vars(host)
Expand Down
2 changes: 2 additions & 0 deletions lib/ansible/plugins/strategy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,7 @@ def _add_host(self, host_info, iterator):
if not new_host:
new_host = Host(name=host_name)
self._inventory._hosts_cache[host_name] = new_host
self._inventory.get_host_vars(new_host)

allgroup = self._inventory.get_group('all')
allgroup.add_host(new_host)
Expand All @@ -438,6 +439,7 @@ def _add_host(self, host_info, iterator):
if not self._inventory.get_group(group_name):
new_group = Group(group_name)
self._inventory.add_group(new_group)
self._inventory.get_group_vars(new_group)
new_group.vars = self._inventory.get_group_variables(group_name)
else:
new_group = self._inventory.get_group(group_name)
Expand Down

0 comments on commit 560532d

Please sign in to comment.