Ansible 将变量作为import\u playbook变量传递

Ansible 将变量作为import\u playbook变量传递,ansible,Ansible,我试图在父playbook中提示输入密码,然后将该变量传递给使用import\u playbook导入的子playbook。当我运行它时,我收到以下错误。可以这样传递变量吗?我可以通过使用额外的变量来解决这个问题 错误!拆分参数失败,可能是不平衡的jinja2 块或引号:child_playbook.yaml password=“{{parentVar}” 家长手册 - hosts: localhost gather_facts: false connection: local v

我试图在父playbook中提示输入密码,然后将该变量传递给使用import\u playbook导入的子playbook。当我运行它时,我收到以下错误。可以这样传递变量吗?我可以通过使用额外的变量来解决这个问题

错误!拆分参数失败,可能是不平衡的jinja2 块或引号:child_playbook.yaml password=“{{parentVar}”

家长手册

- hosts: localhost
  gather_facts: false
  connection: local

  vars_prompt:
    - name: parentVar
      prompt: "Enter parent var"

  tasks:
    - debug:
        var: parentVar

- name: 'import child playbook'
  import_playbook: child.yaml childVar="{{ parentVar }}""
儿童手册

---
- hosts: localhost
  connection: local

  tasks:

    - debug:
        var: childVar
使用import_playbook vs include_任务的原因是为了能够独立运行playbook

问:“有可能以这种方式传递变量吗?”

不,不可能。hostvars是一个剧本。额外的vars因为全局范围而起作用

解决方案可能是在外部存储全局变量,并在每次播放中读取它们