--- - name: Ensure k3s control node fact is set set_fact: k3s_control_node: "{{ 'false' if k3s_build_cluster else 'true' }}" when: k3s_control_node is not defined - name: Ensure k3s master control node fact is set set_fact: k3s_primary_control_node: "{{ 'false' if k3s_build_cluster else 'true' }}" when: k3s_primary_control_node is not defined - name: Ensure a k3s control node is defined if none are found in play_hosts block: - name: Set the control host set_fact: k3s_control_node: true when: inventory_hostname == play_hosts[0] when: true not in (hostvars | json_query('*.k3s_control_node')) and k3s_build_cluster is defined and k3s_build_cluster - name: Ensure a count of control masters is generated set_fact: k3s_controller_count: "{{ k3s_controller_count + [ item ] }}" when: hostvars[item].k3s_control_node loop: "{{ play_hosts }}" - name: Ensure a primary k3s control node is defined if multiple are found in play_hosts set_fact: k3s_primary_control_node: true when: k3s_controller_count | length > 1 and inventory_hostname == k3s_controller_count[0] and k3s_build_cluster is defined and k3s_build_cluster