Bootstrap

Ansible中的notify和handler

Ansible模块设计为具有幂等性。表示在正确编写的playbook中,playbook及其任务可以运行多次而不会改变受管主机,除非需要进行更改使受管主机进入所需状态。

幂等性:通俗的解释就是,不对playbook做出更改,再次执行playbook,里面的内容不会执行。比如安装一个软件,再次执行,不会再次进行安装。

处理程序被视作非活动任务,只有在使用notify语句显式调用时才会被触发,handlers就是处理程序。

tasks:
  - name: copy 
    template:
      src: /var/lib/templates/demo.example.conf.template
      dest: /etc/httpd/conf.d/demo.example.conf
    notify: 
       - restart apache

handlers: 
  - name: restart apache
    service:
        name: httpd
        state: restarted

notify中的“restart apache”与handlers中的name后面的字符串必须相对应

;