From 1a4604361f8df8e12c049ba49444b6fae6b9bb57 Mon Sep 17 00:00:00 2001 From: Daniel Shepherd Date: Fri, 19 Oct 2018 10:46:47 -0400 Subject: [PATCH] pamd: add delete=False to NamedTemporaryFile() (#47281) * add delete=False to NamedTemporaryFile and remove print statement from module * add changelog fragment * use module.tmpdir from (#47133) and add changelog fragment for it as well (cherry picked from commit c67ab296bbbb90e7f701413fa793fc0cdbc4818a) --- changelogs/fragments/47133-pamd_use_module_tmpdir.yml | 4 ++++ ...47281-pamd-dont-delete-named_temporary_file_on_close.yaml | 5 +++++ lib/ansible/modules/system/pamd.py | 3 +-- 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 changelogs/fragments/47133-pamd_use_module_tmpdir.yml create mode 100644 changelogs/fragments/47281-pamd-dont-delete-named_temporary_file_on_close.yaml diff --git a/changelogs/fragments/47133-pamd_use_module_tmpdir.yml b/changelogs/fragments/47133-pamd_use_module_tmpdir.yml new file mode 100644 index 00000000000..419c55b493a --- /dev/null +++ b/changelogs/fragments/47133-pamd_use_module_tmpdir.yml @@ -0,0 +1,4 @@ +--- +bugfixes: +- "pamd: use module.tmpdir for NamedTemporaryFile() + (see https://github.com/ansible/ansible/pull/47133 and https://github.com/ansible/ansible/issues/36954)" diff --git a/changelogs/fragments/47281-pamd-dont-delete-named_temporary_file_on_close.yaml b/changelogs/fragments/47281-pamd-dont-delete-named_temporary_file_on_close.yaml new file mode 100644 index 00000000000..9bd9df0ec65 --- /dev/null +++ b/changelogs/fragments/47281-pamd-dont-delete-named_temporary_file_on_close.yaml @@ -0,0 +1,5 @@ +--- +bugfixes: +- "pamd: add delete=False to NamedTemporaryFile() fixes OSError on module completion, and + removes print statement from module code. + (see https://github.com/ansible/ansible/pull/47281 and https://github.com/ansible/ansible/issues/47080)" diff --git a/lib/ansible/modules/system/pamd.py b/lib/ansible/modules/system/pamd.py index ab0319b6792..a09eb0b4a45 100644 --- a/lib/ansible/modules/system/pamd.py +++ b/lib/ansible/modules/system/pamd.py @@ -776,9 +776,8 @@ def main(): # First, create a backup if desired. if module.params['backup']: backupdest = module.backup_local(fname) - print("BACKUP DEST", backupdest) try: - temp_file = NamedTemporaryFile(mode='w') + temp_file = NamedTemporaryFile(mode='w', dir=module.tmpdir, delete=False) with open(temp_file.name, 'w') as fd: fd.write(str(service))