mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
parent
750d9e2d59
commit
3f5440f7df
1 changed files with 23 additions and 0 deletions
|
@ -217,6 +217,9 @@ class AnsibleModule(object):
|
||||||
if not self.no_log:
|
if not self.no_log:
|
||||||
self._log_invocation()
|
self._log_invocation()
|
||||||
|
|
||||||
|
# finally, make sure we're in a sane working dir
|
||||||
|
self._set_cwd()
|
||||||
|
|
||||||
def load_file_common_arguments(self, params):
|
def load_file_common_arguments(self, params):
|
||||||
'''
|
'''
|
||||||
many modules deal with files, this encapsulates common
|
many modules deal with files, this encapsulates common
|
||||||
|
@ -815,6 +818,26 @@ class AnsibleModule(object):
|
||||||
syslog.openlog(str(module), 0, syslog.LOG_USER)
|
syslog.openlog(str(module), 0, syslog.LOG_USER)
|
||||||
syslog.syslog(syslog.LOG_NOTICE, unicode(msg).encode('utf8'))
|
syslog.syslog(syslog.LOG_NOTICE, unicode(msg).encode('utf8'))
|
||||||
|
|
||||||
|
def _set_cwd(self):
|
||||||
|
try:
|
||||||
|
cwd = os.getcwd()
|
||||||
|
if not os.access(cwd, os.F_OK|os.R_OK):
|
||||||
|
raise
|
||||||
|
return cwd
|
||||||
|
except:
|
||||||
|
# we don't have access to the cwd, probably because of sudo.
|
||||||
|
# Try and move to a neutral location to prevent errors
|
||||||
|
for cwd in [os.path.expandvars('$HOME'), tempfile.gettempdir()]:
|
||||||
|
try:
|
||||||
|
if os.access(cwd, os.F_OK|os.R_OK):
|
||||||
|
os.chdir(cwd)
|
||||||
|
return cwd
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
# we won't error here, as it may *not* be a problem,
|
||||||
|
# and we don't want to break modules unnecessarily
|
||||||
|
return None
|
||||||
|
|
||||||
def get_bin_path(self, arg, required=False, opt_dirs=[]):
|
def get_bin_path(self, arg, required=False, opt_dirs=[]):
|
||||||
'''
|
'''
|
||||||
find system executable in PATH.
|
find system executable in PATH.
|
||||||
|
|
Loading…
Reference in a new issue