У меня есть доступная игра, как показано ниже, которая копирует tar.gz
файл на удаленные серверы, и в основном он работает нормально ..
- name: Play 2
hosts: ALL_HOSTS
serial: "{{ num_serial }}"
tasks:
- name: untar latest process.tar.gz file
unarchive: src=/tmp/process.tar.gz dest=/data01/tasks/
- name: Remove SUCCESS File
file: path=/data01/tasks/SUCCESS
state=absent
Теперь по какой-либо причине, если какая-либо задача не выполняется на каком-либо удаленном компьютере или, скажем, удаленный хост не работает и перезагружается, я хочу повторить задачу на этом устройстве до x раз (что-то в этом роде), и если он все еще не работает, тогда переехать на другой хост. Возможно ли это сделать с ансиблем?
В основном я хочу повторять невыполненную задачу до определенного количества раз на удаленном компьютере, на котором она не удалась, прежде чем перейти к следующим хостам, если это возможно. Или я могу подождать некоторое время, прежде чем этот ящик снова станет доступен.
Обновить:
Итак, я получил обновленную книгу, как после прочтения док. Будет ли это работать или есть способ лучше?
- name: Play 2
hosts: ALL_HOSTS
serial: "{{ num_serial }}"
tasks:
- name: untar latest process.tar.gz file
unarchive: src=/tmp/process.tar.gz dest=/data01/tasks/
register: result
until: result | success
retries: 5
delay: 10
- name: Remove SUCCESS File
file: path=/data01/tasks/SUCCESS
state=absent
register: result
until: result | success
retries: 5
delay: 10