Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
linux:ansible:error [2023/11/27 23:01] werwolf |
linux:ansible:error [2023/11/27 23:13] (текущий) werwolf [failed_when] |
||
|---|---|---|---|
| Строка 62: | Строка 62: | ||
| mode: 0644 | mode: 0644 | ||
| </code> | </code> | ||
| + | |||
| + | ====ignore_errors==== | ||
| + | |||
| + | При запуске playbook, если на одном из серверов какая-либо задаче не выполнилась, то все последующие задачи на этом сервере не будут выполнены, чтобы этого не произошло нужно добавить флаг ignore_errors: yes, тогда если в этой задаче произойдет ошибка последующие все равно будут выполняться. | ||
| + | |||
| + | <code bash> | ||
| + | --- | ||
| + | - name: test-playbook | ||
| + | hosts: servers | ||
| + | tasks: | ||
| + | - name: Создание файла | ||
| + | file: | ||
| + | dest: /home/file.txt | ||
| + | state: touch | ||
| + | owner: root | ||
| + | group: root | ||
| + | mode: 0644 | ||
| + | ignore_errors: yes | ||
| + | </code> | ||
| + | |||
| + | ==== failed_when ==== | ||
| + | Вы можете использовать ключевое слово error_when для управления поведением задачи | ||
| + | |||
| + | Пример: | ||
| + | |||
| + | <code bash> | ||
| + | --- | ||
| + | - name: Test ansible | ||
| + | hosts: all | ||
| + | become: yes | ||
| + | |||
| + | tasks: | ||
| + | - name: Tasks number1 | ||
| + | yum: name=treeee state=present | ||
| + | ignore_errors: yes | ||
| + | |||
| + | - name: Tasks number2 | ||
| + | shell: echo Hellow world | ||
| + | register: results | ||
| + | failed_when: "'world' in results.stdout" | ||
| + | |||
| + | - debug: | ||
| + | var: results | ||
| + | |||
| + | - name: Tasks number3 | ||
| + | shell: echo Privet Man! | ||
| + | |||
| + | ... | ||
| + | </code> | ||
| + | |||
| + | |||