首页 > 解决方案 > Ansible 无法使用查找将变量传递给角色?

问题描述

我想将一些 rsa 公钥从 ansible playbook 传递给 ansible 角色,但是,我发现 ansible 在使用查找时无法传递变量。

---
- hosts: gateway
  vars: 
    keys:
      - "{{ lookup('file', './files/rsa_pubs/sake1.pub') }}"
      - "{{ lookup('file', './files/rsa_pubs/sake2.pub') }}"
  tasks:
    - name: Set gateway rsa public file.
      import_role: 
        name: ssh_rsa_setting
      vars:
        # rsa_pub_keys:
        #   - "{{ lookup('file', './files/rsa_pubs/sake1.pub') }}"
        #   - "{{ lookup('file', './files/rsa_pubs/sake2.pub') }}"
        rsa_pub_keys: keys

使用可变“密钥”传递 rsa 密钥时,commneted 代码失败似乎很好。我尝试使用“include_role”而不是“import_role”,没有任何变化。我想知道为什么以及如何正确地将列表变量传递给角色。

提前致谢。

标签: ansibleansible-role

解决方案


正如@Zeitounator 建议的那样,应该使用“{{}}”!


推荐阅读