0

我在 handlers/main.yml 中建立了一些角色,我已经指定了一些处理程序作业,但我无法执行它们。这是错误消息:

错误!角色“sample-mysql”的 handlers/main.yml 文件必须包含任务列表

该错误似乎在“/home/automation/plays/roles/sample-mysql/handlers/main.yml”中:第 2 行,第 3 列,但可能在文件中的其他位置,具体取决于确切的语法问题。

The offending line appears to be:

---
  handlers:
  ^ here

我做了一些更改,但仍然无法正常工作。我还希望这个文件从另一个文件加载处理程序。有可能这样做吗?如 - 包括:指令

---
  handlers:
  - name: "Start mysql"
    service:
      enabled: true
      name: mysqld
      state: started
  - name: "Start firewalld"
    service:
      enabled: true
      name: firewalld
      state: started

错误!角色“sample-mysql”的 handlers/main.yml 文件必须包含任务列表

该错误似乎在“/home/automation/plays/roles/sample-mysql/handlers/main.yml”中:第 2 行,第 3 列,但可能在文件中的其他位置,具体取决于确切的语法问题。

违规行似乎是:

---
  handlers:
  ^ here
4

2 回答 2

0

处理程序文件位置是 /repo_name/roles/sample-mysql/handlers/main.yaml
在 main.yaml 中添加以下内容。

---
- name: Start mysql
  service:
   name: mysqld
   state: started
   enabled: true

要调用此处理程序,请在主剧本中包含以下行,/repo_name/roles/sample-mysql/tasks/main.yaml

notify: "Restart iis service"

您不能简单地执行处理程序。在 sample-mysql 文件夹中,应该有称为任务和处理程序的文件夹。

于 2019-07-22T11:58:31.193 回答
0

在您的角色中,有 file: handlers/main.yml。编辑该文件,并添加此任务:

---
- name: a task
  shell: echo

保存

于 2019-07-20T12:51:41.267 回答