2
僅供參考,我在「pull-mode」而非push模式下運行我的Ansible遊戲手冊。因此,我的節點將通過Hipchat發佈他們的任務結果。Ansible有條件的處理程序的任務?
就這樣說,我有一個安裝RPM的任務。安裝成功後,節點通過Hipchat通知該任務已成功運行。現在,如果任務失敗,我強迫它通知hipchat /「 - force-handlers」參數。我的問題是,有沒有辦法根據任務的結果調用特定的處理程序?
任務
- name: Install Perl modules
command: sudo rpm -Uvh {{ rpm_repository }}/{{ item.key }}-{{ item.value.svn_tag }}.rpm --force
with_dict: deploy_modules_perl
notify: announce_hipchat
處理器
- name: announce_hipchat
local_action: hipchat
from="deployment"
token={{ hipchat_auth_token }}
room={{ hipchat_room }}
msg="[{{ ansible_hostname }}] Successfully installed RPMs!"
validate_certs="no"
您可以在處理程序中使用'when','with_items'等。條件會給你你想要的嗎?從您的解釋和示例代碼中,我不太確定您要做什麼...... –
本部分的文檔可能會有所幫助:https://docs.ansible.com/playbooks_error_handling.html#ignoring-failed-commands您可以忽略失敗,然後根據失敗或成功完成不同的事情。 – David