Make sure we add host/group vars files when parsing inventory
Also fixes a bug where add_host was not adding the vars files Fixes #16117
This commit is contained in:
parent
61f132a609
commit
560532da7d
2 changed files with 5 additions and 1 deletions
|
@ -148,10 +148,12 @@ class Inventory(object):
|
|||
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:
|
||||
|
@ -703,7 +705,7 @@ class Inventory(object):
|
|||
|
||||
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)
|
||||
|
|
|
@ -425,6 +425,7 @@ class StrategyBase:
|
|||
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)
|
||||
|
@ -438,6 +439,7 @@ class StrategyBase:
|
|||
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)
|
||||
|
|
Loading…
Reference in a new issue