【问题标题】:Second ansible role not running in playbook第二个 ansible 角色未在剧本中运行
【发布时间】:2021-11-09 03:27:09
【问题描述】:

我正在尝试在剧本中使用角色。我的简单剧本如下:

---
  - name: Simple playbook
    hosts: all
    tasks:
    - name: Role1
      include_role:
        name: role1
      vars:
        debugmode : true
    - name: Role2
      include_role:
        name: role2
      vars:
        debugmode : true

我使用 -vvv 运行剧本,我看到我的所有角色 1 任务都在运行。但是,role2 任务没有运行,我只看到这个输出(摘录):

TASK [Role2] *********************************************************************************************************************************************************************************************************************************************************
task path: /myplaybook.yml:10
META: ran handlers
META: ran handlers

我的 role2/tasks/main.yml 文件是:

  - debug:
    msg: "In create_vms role"

【问题讨论】:

  • 在本地尝试了相同的场景,但没有遇到任何问题。但是当我在 role2 中评论调试任务时有相同的输出,只是想让你知道。
  • 如果您在同一级别缩进任务,缩进不会成为问题。这里的问题似乎是 role2 没有加载它的 main.yml,这很奇怪。您可以尝试在名称下使用 'tasks_from: main' 调用它:role2

标签: ansible roles


【解决方案1】:

虽然问题的原因相当愚蠢,但我怀疑这可能对其他人有所帮助。

问题是我的文件被意外命名了

role2/tasks/mail.yml

(不是 main.yml)。

所以 ansible 对此没有任何问题,它只是忽略了文件并且什么也没做。如果在角色中找不到任何文件,似乎 ansible 应该发出某种警告,因此请检查是否有错字:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多