【问题标题】:Ansible variable interpolation in list of dictionaries字典列表中的 Ansible 变量插值
【发布时间】:2016-08-05 05:06:42
【问题描述】:

变量插值在某些嵌套上下文中不起作用。

如果我包含一个类似这样的 vars 文件:

some_current_user: "{{ ansible_ssh_user }}"
some_user_vars: [{blah: "{{ ansible_ssh_user }}"}] # oops!

第二个变量未按预期进行插值。有没有办法解决这个问题?

这个任务

- debug: var=some_current_user
- debug:
    msg: "blah - {{ item.blah }}"
  with_items: "{{ some_user_vars }}"

结果

TASK [debug]
*******************************************************************
ok: [my.host] => {
    "some_current_user": "myuser"
}

TASK [debug] *******************************************************************
ok: [my.host] => (item={u'blah': None}) => {
    "invocation": {
        "module_args": {
            "msg": "blah - "
        }, 
        "module_name": "debug"
    }, 
    "item": {
        "blah": null
    }, 
    "msg": "blah - "
}

【问题讨论】:

  • 你的ansible版本是什么?为我工作。 (item={'blah': u'myuser'})
  • 我使用的是ansible版本2.0.1.0
  • 是的,它在 2.0.1.0 中失败,但在 1.9.2 中有效
  • 现在可以在 2.1.0.0 中使用

标签: yaml ansible


【解决方案1】:

这似乎是一个错误,已在 ansible 2.1.0.0 中解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    相关资源
    最近更新 更多