为什么 ansible 通知不起作用?

为什么 ansible 通知不起作用?

我正在学习 ansible 并编写了简单的剧本,但我不明白或者我做错了什么导致处理程序不起作用!请帮帮我。

我的剧本:

- hosts: HA
  gather_facts: False
  tasks:
    - name: Installs pacemaker
      yum: pkg=pacemaker,pcs,resource-agents state=latest
      notify:
         - pcsd start

  handlers:
    - name: pcsd start
      systemd: name=pcsd state=started

他跳过了通知:

PLAY [HA] **********************************************************************

TASK [Installs pacemaker] ******************************************************
ok: [test-ha2]
ok: [test-ha1]

PLAY RECAP *********************************************************************
test-ha1                   : ok=1    changed=0    unreachable=0    failed=0
test-ha2                   : ok=1    changed=0    unreachable=0    failed=0

答案1

处理程序只会针对报告状态的任务触发changed。在剧本的输出中,您可以看到状态为ok,在这种情况下,这意味着没有安装或更新任何新软件包(因为 state=latest)

因此,如果任何软件包尚未安装,它就会工作。

started但是,我会使用state 而不是state restarted,因为您总是在升级任务中的最新软件包(state=latest)如果软件包更新,您也应该重新启动服务。

相关内容