如何从变量文件中识别剧本中的主机?

时间:2019-08-06 20:15:39

标签: ansible-inventory

在我的主机文件中,我有10个不同的组,每个组中都有设备。每个客户部署都应转到特定区域,我想在客户配置文件中指定该区域。

在我的剧本中,我尝试在主机前面使用一个变量,我的计划是在配置文件中指定主机组。

master_playbook.yml

主机:“ {{target_region}}”

vars

custom_config_file:“ ./app_deployment/customer_config_files/xx_app_prod.yml”

xx_app_prod.yml

客户:test1

env:产品

app_port:25073

target_region:dev

我收到错误消息:

错误! “主机”字段的值无效,其中包括未定义的变量。错误是:“ target_region”未定义

1 个答案:

答案 0 :(得分:0)

要确定主机所在的主机(不是正在运行的主机),必须使用一个小助手: 创建脚本:

["1","2"]

之后,您可以运行以下类似的剧本:

#!/usr/bin/env ansible-playbook
#call like:  ./showgroups -i develop -l jessie.fritz.box
- hosts: all
  gather_facts: no
  tasks:
  - name: show the groups the host(s) are in
    debug:
      msg: "{{group_names}}"