问题描述
我有一个简单的角色,它仅使用重新启动处理程序安装nginx,但这不起作用。我收到错误消息:“错误!在主处理程序列表或侦听处理程序列表中均未找到请求的处理程序'restart nginx'”
我在做什么错了?
目录
test_handler
handers
- main.yml
tasks
- main.yml
handlers / main.yml
---
# handlers file for /ansible/roles/test_handler
- name: reload nginx
service: name=nginx state=reloaded enabled=yes
become: yes
become_user: root
- name: restart nginx
service: name=nginx state=restarted enabled=yes
become: yes
become_user: root
tasks / main.yml
- name: Install nginx
yum: name=nginx state=latest update_cache=yes
notify:
- restart nginx
become: yes
become_user: root
解决方法
是正确的@user3511320,特别是如果任务正在调用依赖角色的任务/处理程序。 而不是包含用户“角色”并调用整个角色的任务。
Use:
roles:
- ../roles/foo
instead of:
tasks:
- include_tasks: ../../roles/foo/tasks/test.yml
,
问题是我的剧本,叫做角色。我这样做是用include:不是角色。