Остановите Ansible playbook, если установка docker с помощью amazon-linux-extras не удалась - PullRequest
0 голосов
/ 31 мая 2019

Какие конкретные изменения необходимо внести в приведенный ниже код, чтобы не удалось выполнить заданную игру, если приведенная ниже задача "Install docker" не удалась?

В настоящее время книга воспроизведения сообщает «changed» как результат задачи «Install docker», представленной ниже, и, таким образом, книга воспроизведения продолжает выполнять последующие задачи независимо от того, была ли успешной установка докера.

---
- name: Install some stuff.
  hosts: firstgroup, secondgroup
  remote_user: someuser
  become: true
  become_method: sudo
  become_user: root

  tasks:  

     - name: Install docker 
       command: amazon-linux-extras install -y docker

Как видите, это работает в Amazon Linux 2, а установка выполняется с использованием amazon-linux-extras.

Ответы [ 2 ]

1 голос
/ 31 мая 2019

Вы можете попробовать ниже код:

---
- name: Install some stuff.
  hosts: firstgroup, secondgroup
  remote_user: someuser
  become: yes

  tasks:  

     - name: Install docker 
       command: amazon-linux-extras install -y docker
       register: result
       failed_when: result.rc != 0 

Вы можете добавить опцию регистрации и получить код возврата для этой команды. если его ноль, то он будет продолжаться, иначе он потерпит неудачу. другая вещь о пользователе, просто введите "становиться: да" будет достаточно для запуска от имени пользователя root

0 голосов
/ 31 мая 2019

Модуль command всегда будет выполняться. Это потому, что чрезвычайно сложно (если не невозможно) определить, нужно ли выполнять произвольную команду или нет, если она была выполнена ранее.

Что вы можете сделать, это обработать вывод команды, чтобы определить, было ли приложение установлено или нет. Это можно сделать с помощью регистров .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...