--- - name: Ensure Dell baremetal compute nodes are present in the Ansible inventory hosts: localhost gather_facts: no vars: # Set this to a colon-separated list of baremeal compute node hostnames on # which to trigger discovery. If unset, all compute nodes will be # triggered. compute_node_limit: "" compute_node_limit_list: "{{ compute_node_limit.split(':') }}" tasks: - name: Add hosts for the Dell baremetal compute nodes add_host: name: "{{ item.key }}" groups: baremetal-compute # SSH configuration to access the BMC. ansible_host: "{{ item.value }}" ansible_user: "{{ ipmi_username }}" ansible_ssh_pass: "{{ ipmi_password }}" with_dict: "{{ idrac_network_ips }}" # Don't add hosts that already exist. when: - item.key not in groups['all'] - item.key | replace('-idrac', '') not in groups['all'] - not compute_node_limit or item.key | replace('-idrac', '') in compute_node_limit_list run_once: True - name: Ensure Dell baremetal compute nodes are present in the Ansible inventory hosts: baremetal-compute gather_facts: no vars: compute_node_limit: "" compute_node_limit_list: "{{ compute_node_limit.split(':') }}" tasks: - name: Set facts for the compute nodes for IPMI addresses set_fact: bmc_type: idrac ipmi_address: "{{ idrac_network_ips[inventory_hostname] }}" when: - not ipmi_address - not compute_node_limit or inventory_hostname in compute_node_limit_list run_once: True