如何使用VmWare清单创建主机组?

时间:2019-06-03 19:47:19

标签: ansible ansible-inventory ansible-facts ansible-awx

使用我的vcenter清单,我希望能够在主机中使用属性并使用该属性创建主机组

我们的大多数基础架构都在VmWare中,因此我使用其中一个vcenter作为源创建了清单。 这将创建该vcenter的动态清单,但是主机名在实际主机名之后具有随机字符串。 例如:HOSTNAME-943j2nsdij-oijasjf

因此,当我尝试在剧本中使用此清单时,由于主机名错误,因此无法建立连接。 但是,在每个主机的详细信息中,都有一个包含实际主机名的属性。

我想使用该清单中每个主机的属性,并创建一个引用该属性的主机组。

    ---
    - hosts: all
      gather_facts: no
      tasks:
      - name: set fact
        delegate_to: localhost
        set_fact:
          server_list: "{{ item }}"
        with_items: "{{hostvars[inventory_hostname]['guest']['hostname']}}"      
      - name: create host group
        add_host:
          name: "{{ item }}"
          groups: new_servers
        with_items: "{{ server_list }}"

希望“ server_list”包含清单中每个主机的“ hostname”属性列表。 但是,执行播放后,“ new_servers”仅包含一个主机名。 我预计会超过1000。

0 个答案:

没有答案