【发布时间】:2020-12-15 15:37:16
【问题描述】:
目前我正在寻找一种解决方案,我可以在其中创建一个变量,然后使用该变量导入 Playbook。
这是我的代码:
- name: test
hosts: localhost
vars:
ansible_python_interpreter: /usr/bin/python3
playbook1: server_provision
playbook2: server_provision_oracle
gather_facts: no
tasks:
- name: define Variable with when condition
set_fact:
server_provision: "{{ playbook1 }}"
when: OS == "RHEL"
- name: store variable to file
copy:
content: "server_provision: {{ server_provision }}"
dest: /tmp/server_provision.yml
when: OS == "RHEL"
- name: define Variable with when condition
set_fact:
server_provision: "{{ playbook2 }}"
when: OS == "Oracle"
- name: store variable to file
copy:
content: "server_provision: {{ server_provision }}"
dest: /tmp/server_provision.yml
when: OS == "Oracle"
- name: test
vars_files:
- /tmp/server_provision.yml
import_playbook: "{{ server_provision }}.yaml"
但是当我执行剧本时,我得到了错误,变量 server_provision 没有价值。
问题是我的 unimportet 剧本没有被执行,它从 importet 开始。
你有解决办法吗?
【问题讨论】:
标签: ansible yaml ansible-awx ansible-tower