【发布时间】:2021-03-02 17:59:01
【问题描述】:
我全新安装了 Ansible 2.9.17,除了处理程序之外,一切都运行良好:-/
出于某种原因,我的 ~roles/myservice/handlers/main.yml 没有加载,除非我包括:处理程序:在每个主机之后:我的 main.yml 文件中的行。
示例:
handlers:
- import_tasks: ../handlers/main.yml
我可以这样做,但我发现每个主机一次又一次地指定“相同的处理程序”:条目烦人。这不能是 ansible 这样做的最佳实践。其他人以前遇到过这个问题吗?一定有我遗漏的配置...
我的文件夹结构:
~/roles/myservice/
├── handlers
│ └── main.yml
├── tasks
└── main.yml
我的角色/myservice/handlers/main.yml 是:
- name: restart myservice
service:
name: myservice
state: restarted
become: yes
listen: restart myservice
roles/myservice/tasks/main.yml 是:
- name: Installing myservice
become: yes
become_user: root
yum:
name: myservice.rpm
notify:
- restart myservice
但是当我运行游戏时:
$ ansible-playbook -i hosts roles/myservice/tasks/main.yml --limit myservice
播放 [myservice] ******************************************* ****************************************************** ****************************************************** ************************
任务[收集事实] ****************************************** ****************************************************** ****************************************************** *********************************************** 好的:[我的服务]
任务 [安装我的服务。] ***************************************** ****************************************************** ****************************************************** ***************************************** 好的:[我的服务]
任务[收集事实] ****************************************** ****************************************************** ****************************************************** *********************************************** 好的:[我的服务]
任务 [安装我的服务] ****************************************** ****************************************************** ************************************ 错误!在主处理程序列表和侦听处理程序列表中都找不到请求的处理程序“restart myservice”
【问题讨论】:
标签: ansible ansible-2.x ansible-inventory ansible-facts ansible-template