diff --git a/awx/main/tasks.py b/awx/main/tasks.py index dcf1fe5867..ca1a84827a 100644 --- a/awx/main/tasks.py +++ b/awx/main/tasks.py @@ -930,10 +930,17 @@ class BaseTask(object): ''' Create a temporary directory for job-related files. ''' - path = tempfile.mkdtemp(prefix='awx_%s_' % instance.pk, dir=settings.AWX_PROOT_BASE_PATH) - os.chmod(path, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR) + pdd_wrapper_path = tempfile.mkdtemp( + prefix=f'pdd_wrapper_{instance.pk}_', + dir=settings.AWX_PROOT_BASE_PATH + ) + os.chmod(pdd_wrapper_path, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR) if settings.AWX_CLEANUP_PATHS: - self.cleanup_paths.append(path) + self.cleanup_paths.append(pdd_wrapper_path) + + path = tempfile.mkdtemp(prefix='awx_%s_' % instance.pk, + dir=pdd_wrapper_path) + os.chmod(path, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR) runner_project_folder = os.path.join(path, 'project') if not os.path.exists(runner_project_folder): # Ansible Runner requires that this directory exists.