寻求一些指导:
我有一个 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