首页 > 解决方案 > 在 Ansible 中访问 HostVar

问题描述

我是 Ansible 的新手,我正在尝试使用存储在 ansible 的主机变量中的“名称”事实,但是,我不断收到未设置的变量。

我已经抽出所有主机变量以确认它在那里,在我的游戏中使用以下任务:

    - name: Print all variables for each remote device
      debug:
        var: hostvars[inventory_hostname]
      run_once: true
      delegate_to: "{{ groups['dir_tier'] | first }}"

我可以看到事实存在,主机变量的截断输出:

{"hostvars[inventory_hostname]":
    "{'tld':'{{environment_name}}.{{mgmt_domain}}',
    'download_dir':'/tmp',
    'archive_file_server':
    '{{
    file_server
    }}',
    'transport':
    'repositories',
    'java_package':
    'jdk',
    'Name':
    'idserver99'
    }

尝试了几种方法来定位“名称”,但不断回到未定义的问题。

hostvars[inventory_hostname][Name]
hostvars[inventory_hostname].[Name]
{{ hostvars[inventory_hostname].[Name] }}
{{ hostvars[inventory_hostname][Name] }}

我似乎无法破解正确的语法指针欢迎。

渴望学习。

标签: ansibleansible-facts

解决方案


推荐阅读