8bdd04c147
* Fix tmpdir on non root become
- also avoid exception if tmpdir and remote_tmp are None
- give 'None' on deescalation so tempfile will fallback to it's default behaviour
and use system dirs
- fix issue with bad tempdir (not existing/not createable/not writeable)
i.e nobody and ~/.ansible/tmp
- added tests for blockfile case
* Revert "Temporarily revert c119d54"
This reverts commit 5c614a59a6
.
* changes based on PR feedback and changelog fragment
* changes based on the review
* Fix tmpdir when makedirs failed so we just use the system tmp
* Let missing remote_tmp fail
If remote_tmp is missing then there's something more basic wrong in the
communication from the controller to the module-side. It's better to
be alerted in this case than to silently ignore it.
jborean and I have independently checked what happens if the user sets
ansible_remote_tmp to empty string and !!null and both cases work fine.
(null is turned into a default value controller-side. empty string
triggers the warning because it is probably not a directory that the
become user is able to use).
26 lines
706 B
YAML
26 lines
706 B
YAML
- name: Test temp dir on de escalation
|
|
hosts: testhost
|
|
gather_facts: false
|
|
become: yes
|
|
tasks:
|
|
- name: create test user
|
|
user: name=tmptest state=present
|
|
|
|
- name: execute test case
|
|
become_user: tmptest
|
|
block:
|
|
- name: Test case from issue 41340
|
|
blockinfile:
|
|
create: yes
|
|
block: |
|
|
export foo=bar
|
|
marker: "# {mark} Here there be a marker"
|
|
dest: /tmp/testing.txt
|
|
mode: 0644
|
|
always:
|
|
- name: clean up file
|
|
file: path=/tmp/testing.txt state=absent
|
|
|
|
- name: clean up test user
|
|
user: name=tmptest state=absent
|
|
become_user: root
|