Назад | Перейти на главную страницу

повторить доступную удаленную задачу, которая копирует файл в случае сбоя?

У меня есть доступная игра, как показано ниже, которая копирует 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