Ansible 可分配角色工作流问题
我想(第1步)更改postgresql配置文件,(第2步)重新启动服务,然后(第3步)添加db用户 ../roles/postgres/tasks/main.ymlAnsible 可分配角色工作流问题,ansible,ansible-role,ansible-handlers,Ansible,Ansible Role,Ansible Handlers,我想(第1步)更改postgresql配置文件,(第2步)重新启动服务,然后(第3步)添加db用户 ../roles/postgres/tasks/main.yml - name: change postgre pg_hba.conf template: src=pg_hba.conf.j2 dest=/etc/postgresql/9.4/main/pg_hba.conf notify: restart postgresql service tags: pg_hba - nam
- name: change postgre pg_hba.conf
template: src=pg_hba.conf.j2 dest=/etc/postgresql/9.4/main/pg_hba.conf
notify: restart postgresql service
tags: pg_hba
- name: set password for postgres
postgresql_user:
db: postgres
user: postgres
password: postgres
---
- name: restart postgresql service
service: name=postgresql state=restarted enabled='yes'
../roles/postgres/handlers/main.yml
- name: change postgre pg_hba.conf
template: src=pg_hba.conf.j2 dest=/etc/postgresql/9.4/main/pg_hba.conf
notify: restart postgresql service
tags: pg_hba
- name: set password for postgres
postgresql_user:
db: postgres
user: postgres
password: postgres
---
- name: restart postgresql service
service: name=postgresql state=restarted enabled='yes'
博士后
- hosts: postgresql_server
remote_user: ubuntu
become: true
become_method: sudo
become_user: root
roles:
- role: postgres
问题:ansible角色中的真正工作流是:step1->step3->step2
我可以通过将handlers任务移动到。/roles/postgres/tasks/main.yml
来修复它,但无论配置文件是否更改,它都将重新启动服务
这种请求的最佳做法是什么?在需要它的任务之前刷新处理程序:
- name: change postgre pg_hba.conf
template: src=pg_hba.conf.j2 dest=/etc/postgresql/9.4/main/pg_hba.conf
notify: restart postgresql service
tags: pg_hba
- meta: flush_handlers
- name: set password for postgres
postgresql_user:
db: postgres
user: postgres
password: postgres
请查看帮助中心: