我全新安装了 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
- name: restart myservice
service:
name: myservice
state: restarted
become: yes
listen: restart myservice
- 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”
答案 0 :(得分:1)
您正在将 {
"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