add better error and documentation on labels

This commit is contained in:
sean-m-sullivan 2022-01-05 19:04:36 -05:00
parent 8126f734e3
commit e0bd5ad041
4 changed files with 48 additions and 2 deletions

View File

@ -255,6 +255,7 @@ options:
labels:
description:
- The labels applied to this job template
- Must be created with the labels module first. This will error if the label has not been created.
type: list
elements: str
state:
@ -538,7 +539,10 @@ def main():
association_fields['labels'] = []
for item in labels:
label_id = module.get_one('labels', name_or_id=item, **{'data': search_fields})
association_fields['labels'].append(label_id['id'])
if label_id is None:
module.fail_json(msg='Could not find label entry with name {0}'.format(item))
else:
association_fields['labels'].append(label_id['id'])
notifications_start = module.params.get('notification_templates_started')
if notifications_start is not None:

View File

@ -110,6 +110,7 @@ options:
labels:
description:
- The labels applied to this job template
- Must be created with the labels module first. This will error if the label has not been created.
type: list
elements: str
state:
@ -782,7 +783,10 @@ def main():
association_fields['labels'] = []
for item in labels:
label_id = module.get_one('labels', name_or_id=item, **{'data': search_fields})
association_fields['labels'].append(label_id['id'])
if label_id is None:
module.fail_json(msg='Could not find label entry with name {0}'.format(item))
else:
association_fields['labels'].append(label_id['id'])
on_change = None
new_spec = module.params.get('survey_spec')

View File

@ -230,6 +230,25 @@
that:
- "result is changed"
- name: add bad label to Job Template 2
job_template:
name: "{{ jt2 }}"
organization: Default
project: "{{ proj1 }}"
inventory: Demo Inventory
playbook: hello_world.yml
credential: "{{ cred3 }}"
job_type: run
labels:
- label_bad
state: present
register: bad_label_results
ignore_errors: true
- assert:
that:
- "bad_label_results.msg == 'Could not find label entry with name label_bad'"
- name: Add survey to Job Template 2
job_template:
name: "{{ jt2 }}"

View File

@ -200,6 +200,25 @@
that:
- "result is changed"
- name: Create a workflow job template with bad label
workflow_job_template:
name: "{{ wfjt_name }}"
organization: Default
inventory: Demo Inventory
extra_vars: {'foo': 'bar', 'another-foo': {'barz': 'bar2'}}
labels:
- label_bad
ask_inventory_on_launch: true
ask_scm_branch_on_launch: true
ask_limit_on_launch: true
ask_variables_on_launch: true
register: bad_label_results
ignore_errors: true
- assert:
that:
- "bad_label_results.msg == 'Could not find label entry with name label_bad'"
# Turn off ask_ * settings to test that the issue/10057 has been fixed
- name: Turn ask_* settings OFF
tower_workflow_job_template: