为什么Ansible通知不起作用?


12

我正在学习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

Answers:


22

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

因此,如果尚未安装任何软件包,它将起作用。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.