coupled_task_group.yml
- name: Group of tasks that are tightly coupled
vars:
max_retries: "{{ 5 if max_retries is undefined else max_retries | int }}"
retry_delay: "{{ 10 if retry_delay is undefined else retry_delay | int }}"
block:
- name: Increment the retry count
set_fact:
retry_count: "{{ 0 if retry_count is undefined else retry_count | int + 1 }}"
- name: Setup for the next task that needs to run after each failed attempt
setting_up:
some: prerequisite action
- name: Some task that might fail
failing_task:
some: setting
rescue:
- fail:
msg: Maximum retries of grouped tasks reached
when: retry_count | int == max_retries | int
- debug:
msg: "Task Group failed, let's give it another shot"
- name: Sleep between retries
wait_for:
timeout: "{{ retry_delay }}" # seconds
delegate_to: localhost
become: false
- include_tasks: coupled_task_group.yml
Нормально работает, таким образом перебирал элементы массива для таски, типа фоллбэк варианты - полёт нормальный больше года
Ты про использование rescue или про то что rescue вызывает тот же самый файл в котором описан ?
И про то и про то ) Именно с инклюдом его и юзал, почти 1 в 1 как в твоем примере, просто в rescue массив перебирал от кол-ва попыток, если > определенного числа - то уже фэйл
Спасибо за ответ )
Обсуждают сегодня