如何解决Ansible 处理程序不起作用,除非我将它们包含在我的游戏中?
我全新安装了 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
PLAY [myservice] ******************************************* ****************************************************** ****************************************************** ****************************
任务 [收集事实] ********************************************** ****************************************************** ****************************************************** **************************************************** 好的:[我的服务]
任务 [安装我的服务。] ********************************************* ****************************************************** ****************************************************** ******************************************** 好的:[我的服务]
任务 [收集事实] ********************************************** ****************************************************** ****************************************************** **************************************************** 好的:[我的服务]
TASK [安装 myservice] ******************************************** ****************************************************** **************************************** 错误!在主处理程序列表和侦听处理程序列表中都找不到请求的处理程序“restart myservice”
解决方法
您正在将 {
"type": "array","items": {
"type": "object","properties": {
"companyName": {
"type": "string"
},"departments": {
"type": "array","items": {
"type": "object","properties": {
"departmentName": {
"type": "array"
},"status": {
"type": "string"
},"employees": {
"type": "array","items": {
"type": "object","properties": {
"employeeName": {
"type": "string"
},"employeeSurname": {
"type": "string"
},"position": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
文件作为剧本执行,您需要创建一个执行角色的剧本
main.yml
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。