b70d5d9aee
* Add module ses_rule_set for Amazon SES * Update behaviours and naming to be consistent with other aws_ses_ modules. * Add global lock around tests using active rule sets to prevent intermittent test failures. * Fix deletion of rule sets so that we don't inactivate the active rule set when force deleting an inactive rule set.
26 lines
1 KiB
YAML
26 lines
1 KiB
YAML
# ============================================================
|
|
# Do While loops cannot be used on task includes.
|
|
# See: https://github.com/ansible/ansible/issues/17098
|
|
#
|
|
# So as a workaround we use a regular loop to repeatedly attempt
|
|
# obtaining a lock.
|
|
#
|
|
# For this to work we need to skip the subsequent iterations
|
|
# once we get a lock, and delay between iterations if we
|
|
# did not obtain the lock.
|
|
#
|
|
# This file encapsulates this logic to reduce the spam from
|
|
# skipped tasks in the ansible log.
|
|
# ============================================================
|
|
|
|
- include_tasks: obtain-lock.yaml
|
|
# Skip obtaining a lock if we've already succeeded in getting it
|
|
when: "not won_lock|default(False)|bool"
|
|
|
|
- name: Lock Retry Delay
|
|
wait_for:
|
|
# Add some random jitter to the delay to reduce lock contention
|
|
timeout: "{{ obtain_lock_delay_seconds + 15|random }}"
|
|
# Only delay if we're retrying, so skip the delay if we're
|
|
# on the last attempt or have got the lock
|
|
when: "obtain_lock_attempt < (max_obtain_lock_attempts - 1) and not won_lock|bool"
|