Я пробую следующую пьесу. Но даже после получения ошибки от обработчика секция восстановления не работает.
handlers:
- name: port status
shell: netstat -nltp | grep {{ app1_port }}
register: port
listen: port_status
- name: display port status
debug: var=port.stdout_lines
listen: port_status
tasks:
- name: Reload service if checks fail
block:
- name: Check process status
shell: ps -aux | grep {{ app1 }} | grep -v grep
notify: port status
rescue:
- name: fetching proc ids
shell: ps -aux | grep {{ app2 }} | grep -v grep | awk '{print $2}'
register: result
ignore_errors: True
- name: Reloading config
shell: "kill -HUP {{ item }}"
with_items:
- "{{ result.stdout_lines }}"
notify: port_status
Сильфон - это результат, который я получаю во время бега.
ЗАДАЧА [Проверить статус услуги] ******************************************* ************************************************* *********** изменено: [localhost]
RUNNING HANDLER [статус порта] ****************************************** ************************************************* ****************** фатальный: [localhost]: НЕ ПРОШЛО! => {"изменено": true, "cmd": "netstat -nltp | grep 3306", "delta": "0: 00: 00.017951", "end": "2019-03-13 22: 04: 41.024950" , "msg": "ненулевой код возврата", "rc": 1, "start": "2019-03-13 22: 04: 41.006999", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
БОЛЬШЕ НЕ ОСТАЛОСЬ ******************************************* ************************************************* *****************, чтобы повторить попытку, используйте: --limit @ / home / sachin / ansible.retry
ВОСПРОИЗВЕДЕНИЕ ********************************************** ********************************************! *************** localhost: ok = 1 изменено = 1 недоступно = 0 не удалось = 1