properly handle Galaxy credentials if a Project is orphaned

This commit is contained in:
Ryan Petrello
2020-08-11 10:26:54 -04:00
parent a869d7da35
commit 4046b18eff

View File

@@ -2030,17 +2030,18 @@ class RunProjectUpdate(BaseTask):
# build out env vars for Galaxy credentials (in order) # build out env vars for Galaxy credentials (in order)
galaxy_server_list = [] galaxy_server_list = []
for i, cred in enumerate( if project_update.project.organization:
project_update.project.organization.galaxy_credentials.all() for i, cred in enumerate(
): project_update.project.organization.galaxy_credentials.all()
env[f'ANSIBLE_GALAXY_SERVER_SERVER{i}_URL'] = cred.get_input('url') ):
auth_url = cred.get_input('auth_url', default=None) env[f'ANSIBLE_GALAXY_SERVER_SERVER{i}_URL'] = cred.get_input('url')
token = cred.get_input('token', default=None) auth_url = cred.get_input('auth_url', default=None)
if token: token = cred.get_input('token', default=None)
env[f'ANSIBLE_GALAXY_SERVER_SERVER{i}_TOKEN'] = token if token:
if auth_url: env[f'ANSIBLE_GALAXY_SERVER_SERVER{i}_TOKEN'] = token
env[f'ANSIBLE_GALAXY_SERVER_SERVER{i}_AUTH_URL'] = auth_url if auth_url:
galaxy_server_list.append(f'server{i}') env[f'ANSIBLE_GALAXY_SERVER_SERVER{i}_AUTH_URL'] = auth_url
galaxy_server_list.append(f'server{i}')
if galaxy_server_list: if galaxy_server_list:
env['ANSIBLE_GALAXY_SERVER_LIST'] = ','.join(galaxy_server_list) env['ANSIBLE_GALAXY_SERVER_LIST'] = ','.join(galaxy_server_list)
@@ -2118,7 +2119,10 @@ class RunProjectUpdate(BaseTask):
elif not scm_branch: elif not scm_branch:
scm_branch = {'hg': 'tip'}.get(project_update.scm_type, 'HEAD') scm_branch = {'hg': 'tip'}.get(project_update.scm_type, 'HEAD')
galaxy_creds_are_defined = project_update.project.organization.galaxy_credentials.exists() galaxy_creds_are_defined = (
project_update.project.organization and
project_update.project.organization.galaxy_credentials.exists()
)
if not galaxy_creds_are_defined and ( if not galaxy_creds_are_defined and (
settings.AWX_ROLES_ENABLED or settings.AWX_COLLECTIONS_ENABLED settings.AWX_ROLES_ENABLED or settings.AWX_COLLECTIONS_ENABLED
): ):