notify与handler

当我们在远程主机上安装了一个rpm包后,我们想启动这个service。我们可以用notify与handler来实现。

role1/
├── handlers
│   └── main.yml
└── tasks
    └── main.yml

tasks/main.yml内容如下:

---
- name: install httpd
  yum:
    name: httpd
    state: installed
  notify:
  - restart httpd

handlers/main.yml内容如下:

---
- name: start httpd
  service:
    name: httpd
    state: started

如果远程主机上已经安装了httpd,那么相当于tasks/main.yml中的yum操作没有做任何操作,那么notify调用的handlers中的任务也不会执行。

Last updated