【发布时间】:2022-11-21 20:05:05
【问题描述】:
我正在尝试编写一个角色剧本,在该剧本运行的机器上完成它的一些任务。我通过使用 bash 脚本在角色的 vars 文件夹中生成 vars 文件来定义变量。之后,下一个任务将使用 bash 脚本中定义的变量部署多个网络,但我收到此错误:
致命的[目标节点]:失败! => { msg": "'vars_t0' 未定义}
这是我的剧本:
- name: Running Script script: generate_var.sh 2 register: result - name: Modify Tier0 vmware.ansible_for_nsxt.nsxt_policy_tier0: hostname: "********" username: "admin" password: "********" validate_certs: False state: present display_name: "{{ item.t0_name }}" locale_services: - state: present edge_cluster_info: edge_cluster_display_name: "*******" preferred_edge_nodes_info: - edge_cluster_display_name: "********" edge_node_display_name: "*********" with_items: "{{ var_t0 }}"这是从任务 bash 脚本生成的 vars 文件:
vars_t0: - t0_name: T0_GW_01 - t0_name: T0_GW_02
【问题讨论】:
-
你想让你的脚本做的不仅仅是生成映射变量
t0_name: T0_GW_{1..n}吗?如果不是,那么在 ansible 中生成这些映射并传递该变量会更容易
标签: ansible