ansible-role-k3s/tasks/build/preconfigure-k3s.yml
2020-05-16 20:18:20 +01:00

34 lines
1.2 KiB
YAML

---
- 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