提醒一下,我正在以“拉模式”而不是推模式运行我的Ansible playbook。因此,我的节点将通过Hipchat发布其任务结果。
话虽如此,我有一个安装RPM的任务。当安装成功时,节点会通过Hipchat通知任务已成功运行。现在,如果任务失败,我会强制使用“--force-handlers”参数通知hipchat。我的问题是,是否有一种方法根据任务结果调用特定的处理程序?
任务
- 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"