diff --git a/lib/ansible/utils/plugins.py b/lib/ansible/utils/plugins.py index 1aeba16693..b1d0117e61 100644 --- a/lib/ansible/utils/plugins.py +++ b/lib/ansible/utils/plugins.py @@ -30,7 +30,7 @@ _basedirs = [] def push_basedir(basedir): # avoid pushing the same absolute dir more than once - basedir = os.path.abspath(basedir) + basedir = os.path.realpath(basedir) if basedir not in _basedirs: _basedirs.insert(0, basedir) @@ -99,7 +99,7 @@ class PluginLoader(object): ret = [] ret += self._extra_dirs for basedir in _basedirs: - fullpath = os.path.abspath(os.path.join(basedir, self.subdir)) + fullpath = os.path.realpath(os.path.join(basedir, self.subdir)) if os.path.isdir(fullpath): files = glob.glob("%s/*" % fullpath) for file in files: @@ -111,7 +111,7 @@ class PluginLoader(object): # look in any configured plugin paths, allow one level deep for subcategories configured_paths = self.config.split(os.pathsep) for path in configured_paths: - path = os.path.abspath(os.path.expanduser(path)) + path = os.path.realpath(os.path.expanduser(path)) contents = glob.glob("%s/*" % path) for c in contents: if os.path.isdir(c) and c not in ret: @@ -131,7 +131,7 @@ class PluginLoader(object): ''' Adds an additional directory to the search path ''' self._paths = None - directory = os.path.abspath(directory) + directory = os.path.realpath(directory) if directory is not None: if with_subdir: