Как игнорировать определенную строку ошибки вывода в Ansible и считать успешным

Я пытаюсь игнорировать какое-либо сообщение об ошибке в выходных файлах для воспроизведения, которое имеет сообщение об ошибке ниже.

fatal: [192.168.0.1]: FAILED! => {"changed": false, "failed": true, "msg": «Отправка паролей в текстовом формате без SSL / TLS крайне небезопасна .. Запрос == CHANGE MASTER TO ['MASTER_HOST =% (master_host) s' , 'MASTER_USER =% (master_user) s', 'MASTER_PASSWORD =% (master_password) s', 'MASTER_LOG_FILE =% (master_log_file) s', 'MASTER_LOG_POS =% (master_log_pos) s'] "}

> Task: > - name: Setup Replication become: true mysql_replication: > login_host: "{{ slave_ip }}" > login_user: "user" > login_password: "***" > mode: changemaster > master_host: "{{ master_ip }}" > master_log_file: mysql-bin.000001 > master_log_pos: 107 > master_user: "{{ mysql_replicator_user }}" > master_password: "{{ mysql_replicator_password }}" 

При удаче? как добиться этого?

EDITED: Ответ Марко. Ответ. Ну, это проблема здесь, я не знаю, какую ошибку я могу получить. Но я уверен, что если err msg содержит «Отправка паролей в текстовом формате без SSL», тогда игнорируйте, если нет, а любая другая ошибка не игнорируется. Объяснить простое исключение Throw, если ошибка msg не содержит -> 'null' или SSL. "

One Solution collect form web for “Как игнорировать определенную строку ошибки вывода в Ansible и считать успешным”

Существует несколько вариантов обработки ошибок в Ansible. Вы можете использовать ignore_errors: yes в своей задаче. Если вы не хотите игнорировать все ошибки, вы можете указать, что именно представляет собой ошибку, используя что-то вроде:

 - name: task name module: arguments ... register: out failed_when: 'error message' in out.stderr 

Если вы хотите добавить более сложные проверки сбоев, вы можете разделить обработку ошибок на отдельную задачу следующим образом:

 - name: test shell: echo error; exit 123 register: out ignore_errors: yes - fail: msg="{{ out.stdout }}" when: "out.rc != 0 and 'error' not in out.stdout" 

В этом примере первая задача выходит из строя с кодом возврата 123 и печатает «ошибку» на стандартном выходе. Это будет зарегистрировано, но будет проигнорировано. Вторая задача анализирует выходные значения и терпит неудачу, только если код возврата отличается от нуля. И стандартный вывод НЕ содержит строку «error».

Вы можете прочитать более подробную информацию в документации Ansible: https://docs.ansible.com/ansible/playbooks_error_handling.html

  • Необходимая помощь
  • Где я могу найти все методы, которые я могу вызвать для переменной Ansible
  • Необязательная задача: создает проблему с параметром
  • Ansible - настройка экземпляра AWS EC2 после его создания
  • Неспособная игра для создания пользователя, не устанавливающего пароль
  • Ansible failed_when только распечатать настроенное сообщение об ошибке
  • Interesting Posts

    Отсутствуют символы стека с первичным отчетом perf_event, несмотря на сборник -fno-omit-frame-pointer

    Исключение переменных gawk для команд оболочки

    Блокировать отдельную команду в Linux для конкретного пользователя

    Команда Bash не найдена из-за бродячих символов мусора

    двунаправленная синхронизация с rsync

    Как настроить экран входа Gnome в Debian

    Установка Chrome на Linux без необходимости использования root

    Включить поддержку мыши в консоли для приложений, которые ее используют в терминалах GUI

    Зависимости Debian для ttyecho

    Предотвратите завершение сеанса GNU-экрана после того, как пользователь будет убит пользователем

    Шлюз со встречными сетями

    Очистка пространства подкачки во время работы

    Неожиданный конец ошибки файла при выполнении скрипта

    Разрешить другим пользователям копировать файлы из моей папки?

    перечислите разницу и совпадение между двумя обычными наборами данных

    Linux и Unix - лучшая ОС в мире.