Use abspath instead of realpath for group/host vars files
The use of realpath means when following symlinks the actual path is used when loading these files in the VariableManager, which may not line up with the host or group name specified. Fixes #14545
This commit is contained in:
parent
9c9cce51ab
commit
cd51ba7965
1 changed files with 2 additions and 2 deletions
|
@ -739,11 +739,11 @@ class Inventory(object):
|
||||||
|
|
||||||
if group and host is None:
|
if group and host is None:
|
||||||
# load vars in dir/group_vars/name_of_group
|
# load vars in dir/group_vars/name_of_group
|
||||||
base_path = os.path.realpath(os.path.join(to_unicode(basedir, errors='strict'), "group_vars/%s" % group.name))
|
base_path = os.path.abspath(os.path.join(to_unicode(basedir, errors='strict'), "group_vars/%s" % group.name))
|
||||||
results = combine_vars(results, self._variable_manager.add_group_vars_file(base_path, self._loader))
|
results = combine_vars(results, self._variable_manager.add_group_vars_file(base_path, self._loader))
|
||||||
elif host and group is None:
|
elif host and group is None:
|
||||||
# same for hostvars in dir/host_vars/name_of_host
|
# same for hostvars in dir/host_vars/name_of_host
|
||||||
base_path = os.path.realpath(os.path.join(to_unicode(basedir, errors='strict'), "host_vars/%s" % host.name))
|
base_path = os.path.abspath(os.path.join(to_unicode(basedir, errors='strict'), "host_vars/%s" % host.name))
|
||||||
results = combine_vars(results, self._variable_manager.add_host_vars_file(base_path, self._loader))
|
results = combine_vars(results, self._variable_manager.add_host_vars_file(base_path, self._loader))
|
||||||
|
|
||||||
# all done, results is a dictionary of variables for this particular host.
|
# all done, results is a dictionary of variables for this particular host.
|
||||||
|
|
Loading…
Reference in a new issue