mirror of
https://github.com/dredx/prole.git
synced 2026-09-24 19:04:31 +00:00
Prefer infra-managed manifests for bootstrap; reconcile CNPG instances based on Ready+schedulable labeled db nodes; update manifests to use node-role affinity + anti-affinity; add policy/tests and config touch-ups (incl. prole.cfg).
30 lines
1.2 KiB
YAML
30 lines
1.2 KiB
YAML
---
|
|
|
|
- name: Evaluate optional-workloads policy (ready + schedulable) - build candidates
|
|
ansible.builtin.set_fact:
|
|
_k3s_ready_node_candidates: >-
|
|
{{ (_k3s_nodes_list.stdout_lines | default([])
|
|
| select('search', ' Ready')
|
|
| list) }}
|
|
_k3s_scheduling_disabled_node_candidates: >-
|
|
{{ (_k3s_nodes_list.stdout_lines | default([])
|
|
| select('search', 'SchedulingDisabled')
|
|
| list) }}
|
|
optional_workloads_min_ready_schedulable_nodes: >-
|
|
{{ (k3s_optional_workloads_min_nodes_cfg | int) }}
|
|
changed_when: false
|
|
|
|
- name: Evaluate optional-workloads policy (ready + schedulable) - count ready schedulable nodes
|
|
ansible.builtin.set_fact:
|
|
ready_schedulable_nodes: >-
|
|
{{ ((_k3s_ready_node_candidates | default([]))
|
|
| difference(_k3s_scheduling_disabled_node_candidates | default([]))
|
|
| length) | int }}
|
|
changed_when: false
|
|
|
|
- name: Evaluate optional-workloads policy (ready + schedulable) - compute allow/deny
|
|
ansible.builtin.set_fact:
|
|
optional_workloads_allowed: >-
|
|
{{ (ready_schedulable_nodes | int) >= (optional_workloads_min_ready_schedulable_nodes | int) }}
|
|
changed_when: false
|