【发布时间】:2020-07-23 20:26:15
【问题描述】:
我有一个测试手册,其中有 5 个节点,如果该节点的制造商是 XYZ 公司,我需要创建一个动态主机组
到目前为止,我已经尝试过这些,并且能够遍历节点并使用制造商获取制造商
- name: Filter the Manufacturer of Nodes
hosts: Test
tasks:
- name: Get facts from hosts
redfish_info:
category: Chassis
command: GetChassisInventory
baseuri: "{{ hostvars[item]['nodes_list'] }}"
username: "{{ }}"
password: "{{ }}"
register: chassis_facts
with_items:
- "{{ groups.webservers }}"
- "{{ groups.dbservers }}"
- debug:
var: chassis_facts.results
现在应该发生的是我需要使用add_host 模块创建一个动态主机组
- name: Add the hosts dynamically as per Manufacturer
add_host:
groups: xyz_hosts
hostname: "{{ item }}"
when: chassis_facts.results[*].redfish_facts | json_query(some_regex_filter)
with_items:
- "{{ groups.webservers }}"
- "{{ groups.dbservers }}"
基于使用json_query 过滤器的上述节点列表中的制造商。非常感谢任何帮助。
【问题讨论】: