From 24c16b1c58f2dcddcbe67c3e530b865f9812df04 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 4 Sep 2019 11:43:48 -0400 Subject: [PATCH] Fix to enable system paths along with requirements override, from @alancoding. --- awx/main/tasks.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/awx/main/tasks.py b/awx/main/tasks.py index fb3a2184f4..8231b1456f 100644 --- a/awx/main/tasks.py +++ b/awx/main/tasks.py @@ -1465,12 +1465,14 @@ class RunJob(BaseTask): if authorize: env['ANSIBLE_NET_AUTH_PASS'] = network_cred.get_input('authorize_password', default='') - for env_key, folder in ( - ('ANSIBLE_COLLECTIONS_PATHS', 'requirements_collections'), - ('ANSIBLE_ROLES_PATH', 'requirements_roles')): - paths = [] + for env_key, folder, default in ( + ('ANSIBLE_COLLECTIONS_PATHS', 'requirements_collections', '~/.ansible/collections:/usr/share/ansible/collections'), + ('ANSIBLE_ROLES_PATH', 'requirements_roles', '~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles')): + paths = default.split(':') if env_key in env: - paths.append(env[env_key]) + for path in env[env_key].split(':'): + if path not in paths: + paths.append(env[env_key]) paths.append(os.path.join(private_data_dir, folder)) env[env_key] = os.pathsep.join(paths)