【问题标题】:Ansible get the value of the "hosts" key from an ansible play/playbookAnsible 从 ansible play/playbook 获取“hosts”键的值
【发布时间】:2018-08-31 06:09:19
【问题描述】:

有什么方法可以让我获得正在播放的一组主机的组名?我知道 ansible 有一个名为 ansible_play_hosts 的变量,它是执行特定播放的所有主机的列表。我想要包含所有这些主机的实际组名。

我使用的是 ansible 版本 2.3.2.0

例子:

# file: hosts

[my-host-group]
hostname-1
hostname-2


# file: playbook.yml
---

- hosts: my-host-group
  tasks:
    - name: "Print group name for 'hosts'"
      debug:
        msg: "Hosts var is '{{ hosts }}'"  

我想打印邮件Hosts var is 'my-host-group'

【问题讨论】:

  • 这就像想打印出一个变量的名称。有什么意义?
  • @mewc 你从来不用打印密钥吗?总是价值?
  • @mewc,我不想打印变量名,我其实是想获取play配置里面的hosts变量的值。就我而言,我需要使用组名来确定在复制特定文件时要命名它。

标签: variables ansible ansible-2.x ansible-facts


【解决方案1】:

{{ hostvars[inventory_hostname].group_names[0] }}

【讨论】:

  • 这不是我要找的。 'group_names' 是按字母顺序排序的,所以如果同一个主机是多个组的一部分(这是我的情况),那么它不一定是执行播放的组。
  • @SamiBadra 你能解决这个问题吗?
猜你喜欢
  • 1970-01-01
  • 2021-08-24
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-17
  • 1970-01-01
相关资源
最近更新 更多