【发布时间】:2018-02-27 04:22:26
【问题描述】:
寻求指导:
我有一个 3 步工作流程 - 前 2 个模板使用 set_stats 设置一些事实数据。例如:
- set_stats:
data:
xldeploy_workstation_host : "{{ hostvars['localhost']['targethost'] }}"
when: tower_job_id is defined
和
- set_stats:
data:
target_inv: "xld{{ env }}"
target_env: "{{ env }}/TEMPLATE"
app_system: "{{ system | lower }}"
when: tower_job_id is defined
在第三个模板中,它使用app_system 变量,如下所示:
- name: Run {{ app_system }} playbook
import_playbook: "{{ app_system }}.yml"
但是,我收到以下错误消息:
ERROR! 'app_system' is undefined
通过查看工作流程中先前步骤的日志,我可以看到 set_stats 起作用了:
ok: [1.2.3.4] => {
"ansible_stats": {
"aggregate": true,
"data": {
"xldeploy_workstation_host": "*host.fqdn*"
},
"per_host": false
},
"changed": false
}
和
ok: [1.2.3.5] => {
"ansible_stats": {
"aggregate": true,
"data": {
"app_system": "*app*",
"project_name": "*projectname*",
"target_env": "dev/TEMPLATE",
"target_inv": "xlddev"
},
"per_host": false
},
"changed": false
}
不知道为什么工作流程的最后一步没有获取 set_stats 数据 - 看起来它应该根据文档工作。
我使用的是 Tower 3.2.2 版和 Ansible 2.4.3.0 版
【问题讨论】:
标签: ansible ansible-2.x ansible-tower