我的剧本中的每个角色都以以下代码结尾:
- include_tasks: includes/log_role_completion.yml this_role={{ role_name }}
Run Code Online (Sandbox Code Playgroud)
它用于(在剧本的末尾)在目标服务器上写入日志,指示 PB 何时启动(在 PB 的开头有一个任务),运行了什么角色,以及何时(开始和结束时间相同,但那是另一天)。
问题是,在 Ansible 2.7 中,我现在收到由上面一行引起的错误:
- include_tasks: includes/log_role_completion.yml this_role="{{ role_name }}"
^ here
We could be wrong, but this one looks like it might be an issue with
missing quotes. Always quote template expression brackets when they
start a value. For instance:
Run Code Online (Sandbox Code Playgroud)
这一直工作到 2.7,并且很有用 - 我不想失去它。我试过在该行的“includes...}}”部分加上引号,但无济于事。
PS 我知道 Ansible 可以写日志 - 我觉得这更有用。另外,我知道 include_tasks 被标记为“预览”,因此可能会更改,但我找不到发行说明来告诉我它是否有。
Ansible 2.7 中的用法已更改。
OLD 在 Ansible 2.6(及更早版本)中,以下是用于指定变量的有效语法:
- include_tasks: include_me.yml variable=value #the old way
Run Code Online (Sandbox Code Playgroud)
新在 Ansible 2.7 中,任务应该更改为使用 vars 关键字:
- include_tasks: include_me.yml
vars:
variable: value
Run Code Online (Sandbox Code Playgroud)
查看移植指南了解更多详情
| 归档时间: |
|
| 查看次数: |
2891 次 |
| 最近记录: |