added ansible_remote_tmp inventory var (#26754)

* added ansible_remote_tmp inventory var

* fixed horrible crime of no space after #
This commit is contained in:
Brian Coca 2017-07-13 18:31:10 -04:00 committed by Matt Davis
parent 462444b2be
commit 84367eacef
4 changed files with 11 additions and 10 deletions

View file

@ -847,7 +847,8 @@ DEFAULT_REMOTE_TMP:
env: [{name: ANSIBLE_REMOTE_TEMP}]
ini:
- {key: remote_tmp, section: defaults}
vars: []
vars:
- name: ansible_remote_tmp
yaml: {key: defaults.remote_tmp}
DEFAULT_REMOTE_USER:
default:

View file

@ -57,6 +57,7 @@ MAGIC_VARIABLE_MAPPING = dict(
connection=('ansible_connection', ),
remote_addr=('ansible_ssh_host', 'ansible_host'),
remote_user=('ansible_ssh_user', 'ansible_user'),
remote_tmp_dir=('ansible_remote_tmp', ),
port=('ansible_ssh_port', 'ansible_port'),
timeout=('ansible_ssh_timeout', 'ansible_timeout'),
ssh_executable=('ansible_ssh_executable', ),
@ -168,6 +169,7 @@ class PlayContext(Base):
# (connection, port, remote_user, environment, no_log)
_docker_extra_args = FieldAttribute(isa='string')
_remote_addr = FieldAttribute(isa='string')
_remote_tmp_dir = FieldAttribute(isa='string', default=C.DEFAULT_REMOTE_TMP)
_password = FieldAttribute(isa='string')
_private_key_file = FieldAttribute(isa='string', default=C.DEFAULT_PRIVATE_KEY_FILE)
_timeout = FieldAttribute(isa='int', default=C.DEFAULT_TIMEOUT)

View file

@ -241,11 +241,7 @@ class ActionBase(with_metaclass(ABCMeta, object)):
use_system_tmp = True
tmp_mode = 0o700
if use_system_tmp:
tmpdir = None
else:
tmpdir = self._remote_expand_user(C.DEFAULT_REMOTE_TMP, sudoable=False)
tmpdir = self._remote_expand_user(self._play_context.remote_tmp_dir, sudoable=False)
cmd = self._connection._shell.mkdtemp(basefile, use_system_tmp, tmp_mode, tmpdir)
result = self._low_level_execute_command(cmd, sudoable=False)

View file

@ -110,11 +110,13 @@ class ShellBase(object):
# /var/tmp is not).
if system:
if C.DEFAULT_REMOTE_TMP.startswith('/var/tmp'):
# FIXME: create 'system tmp dirs' config/var and check tmpdir is in those values to allow for /opt/tmp, etc
if tmpdir.startswith('/var/tmp'):
basetmpdir = '/var/tmp'
else:
basetmpdir = '/tmp'
elif tmpdir is None:
else:
if tmpdir is None:
basetmpdir = C.DEFAULT_REMOTE_TMP
else:
basetmpdir = tmpdir