Skip to content

Commit

Permalink
fixes #295 - handle Duplicate error while creating aap job labels
Browse files Browse the repository at this point in the history
  • Loading branch information
Roman Plevka authored and JacobCallahan committed Jun 18, 2024
1 parent da27b73 commit 16db13c
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions broker/providers/ansible_tower.py
Original file line number Diff line number Diff line change
Expand Up @@ -457,15 +457,21 @@ def _resolve_labels(self, labels, target):
label_ids = []
for label in labels:
label_expanded = f"{label}={labels[label]}" if labels[label] else label
if result := self.v2.labels.get(name=label_expanded).results:
label_ids.append(result[0].id)
else:
# label does not exist yet, creating
try:
result = self.v2.labels.post(
{"name": label_expanded, "organization": target.summary_fields.organization.id}
)
if result:
label_ids.append(result.id)
except awxkit.exceptions.Duplicate:
logger.debug(f"Provider label {label_expanded} already exists on AAP instance")
if result := self.v2.labels.get(name=label_expanded).results:
logger.debug(f"Provider label {label_expanded} retrieved successfully")
label_ids.append(result[0].id)
else:
logger.warning(
f"Provider label {label_expanded} not found on AAP despite AAP returning 400: Duplicate while trying to create it"
)
return label_ids

@cached_property
Expand Down

0 comments on commit 16db13c

Please sign in to comment.