mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-18 16:31:26 -07:00
CmdRunner bugfix (#7200)
* cmd_runner module utils: fix bug when passing absolute path not in standard search paths * improved tests * changed /usr/bin/echo to /bin/echo for the sake of alpine * fixed error messaging for last testcase * add condition to test cases, and remove macos from troubling ones * fix templating * fix templating * exclude centos 6 from testcases copying echo to tmp dir * try different way of specifying version * trying trick for old jinjas * use os.path.isabs() to determine if path is absolute * add changelog frag * Update plugins/module_utils/cmd_runner.py Co-authored-by: Felix Fontein <felix@fontein.de> * Update changelogs/fragments/7200-cmd-runner-abs-path.yml Co-authored-by: Felix Fontein <felix@fontein.de> --------- Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
parent
568814fc3e
commit
8fa667eeb7
7 changed files with 162 additions and 13 deletions
|
@ -6,6 +6,7 @@
|
|||
from __future__ import absolute_import, division, print_function
|
||||
__metaclass__ = type
|
||||
|
||||
import os
|
||||
from functools import wraps
|
||||
|
||||
from ansible.module_utils.common.collections import is_sequence
|
||||
|
@ -204,12 +205,17 @@ class CmdRunner(object):
|
|||
environ_update = {}
|
||||
self.environ_update = environ_update
|
||||
|
||||
self.command[0] = module.get_bin_path(self.command[0], opt_dirs=path_prefix, required=True)
|
||||
_cmd = self.command[0]
|
||||
self.command[0] = _cmd if (os.path.isabs(_cmd) or '/' in _cmd) else module.get_bin_path(_cmd, opt_dirs=path_prefix, required=True)
|
||||
|
||||
for mod_param_name, spec in iteritems(module.argument_spec):
|
||||
if mod_param_name not in self.arg_formats:
|
||||
self.arg_formats[mod_param_name] = _Format.as_default_type(spec.get('type', 'str'), mod_param_name)
|
||||
|
||||
@property
|
||||
def binary(self):
|
||||
return self.command[0]
|
||||
|
||||
def __call__(self, args_order=None, output_process=None, ignore_value_none=True, check_mode_skip=False, check_mode_return=None, **kwargs):
|
||||
if output_process is None:
|
||||
output_process = _process_as_is
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue