mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-24 13:50:22 -07:00
Fix remote_tmp when become with non admin user (#42396)
* 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 revertc119d54
" This reverts commit5c614a59a6
. * 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).
This commit is contained in:
parent
6339e37abd
commit
8bdd04c147
16 changed files with 148 additions and 51 deletions
|
@ -340,7 +340,7 @@ def ensure_yum_utils(module):
|
|||
def fetch_rpm_from_url(spec, module=None):
|
||||
# download package so that we can query it
|
||||
package_name, _ = os.path.splitext(str(spec.rsplit('/', 1)[1]))
|
||||
package_file = tempfile.NamedTemporaryFile(prefix=package_name, suffix='.rpm', delete=False)
|
||||
package_file = tempfile.NamedTemporaryFile(dir=module.tmpdir, prefix=package_name, suffix='.rpm', delete=False)
|
||||
module.add_cleanup_file(package_file.name)
|
||||
try:
|
||||
rsp, info = fetch_url(module, spec)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue