Ansible 2.7 include_tasks不再接受变量

时间:2018-10-18 11:31:57

标签: ansible

我的剧本中的每个角色都以以下代码结尾:

@m

使用哪个(在剧本末尾)在目标服务器上写日志, 指示何时启动PB(在PB的开头有一项任务),运行什么角色以及何时运行(开始时间和结束时间相同,但这又是另一天)。

问题是,使用Ansible 2.7时,我现在收到由上一行引起的错误:

- include_tasks: includes/log_role_completion.yml this_role={{ role_name }}

此功能一直持续到2.7,并且非常有用-我不希望失去它。我曾尝试在行的“ includes ...}}”部分加引号,但无济于事。

PS我知道Ansible可以写日志-我觉得这更有用。另外,我知道include_tasks被标记为'preview',因此可能会更改,但是我找不到发行说明来告诉我它是否具有。

1 个答案:

答案 0 :(得分:4)

用法在Ansible 2.7中已更改。

  

OLD在Ansible 2.6(及更早版本)中,以下是用于指定变量的有效语法:

- include_tasks: include_me.yml variable=value    #the old way
  

NEW在Ansible 2.7中,应更改任务以使用vars关键字:

- include_tasks: include_me.yml
  vars:
    variable: value

查看Porting Guide以获得更多详细信息