Я пытаюсь запустить сценарий оболочки (script1) несколько раз с различными аргументами, используя модуль-оболочку. Но задача должна выйти из строя и выйти, если какая-либо из команд завершится с кодом возврата, отличным от 0. Это я до сих пор.Запуск shell-модуля несколько раз в Ansible
- name: Run scripts
shell: "{{ item}}"
register: rslt
until: rslt.rc != 0
with_items:
- "./script1 -f add1"
- "./script1 -f add2"
- "./script1 -f add3"
Эта задача всегда запускает сценарий 3 раза, даже если первый терпит неудачу с кодом возврата (rslt.rc), кроме 0. Я хочу, чтобы задача потерпеть неудачу и выйти без выполнения последующих элементов в with_items, если текущее выполнение скрипта возвращается с кодом возврата, отличным от 0. Например, если первый элемент (./script1 -f add1) не работает, я не хочу, чтобы выполнялись 2-й и 3-й пункты, и невозможность выполнить задачу.
Я высоко ценю любые предложения по решению этой проблемы.
Я попытался «когда», но это не пропустить оставшиеся задачи после того, ненулевой код возврата. Имеет ли это какое-либо отношение к доступной версии? У меня есть 1.9. – hmdb
Эй, @hmdb, просто запустил его на 1.9.4 и может проверить, что мое решение не работает для этой старой версии. Позвольте мне посмотреть, смогу ли я что-нибудь сделать для 1.9 –
Спасибо @ Rob Wagner – hmdb