mirror of
https://github.com/PyratLabs/ansible-role-k3s
synced 2024-11-13 08:50:20 +01:00
e7c714424c
* Tidy up and refactoring of tasks - `k3s_config_dir` derived from `k3s_config_file`, reused throughout the role to allow for easy removal of "Rancher" references #73. - `k3s_token_location` has moved to be in `k3s_config_dir`. - Tasks for creating directories now looped to caputure configuration from `k3s_server` and `k3s_agent` and ensure directories exist before k3s starts, see #75. - Server token collected directly from token file, not symlinked file (node-token). - `k3s_runtime_config` defined in `vars/` for validation and overwritten in tasks for control plane and workers. - Removed unused references to GitHub API. * set_fact now uses FQCN * re-pin molecule<3.2 * Command module now uses FQCN * Added package checks for #72 * Reorder task files - Docker tasks moved into a separate directory for ease of removal #67 - Bugfix: Control plane on alternate port didn't work. - Validation tasks grouped * Fix Fedora tests * Add optional documentation links to validations steps #76 * Removed jmespath requirement * Fix issue with data collection * Release candidate
36 lines
1.7 KiB
YAML
36 lines
1.7 KiB
YAML
---
|
|
|
|
- name: Check the conditions when a single controller is defined
|
|
ansible.builtin.assert:
|
|
that:
|
|
- (k3s_controller_list | length == 1)
|
|
and ("datastore-endpoint" not in k3s_runtime_config or not k3s_runtime_config['datastore-endpoint'])
|
|
and (k3s_etcd_datastore is not defined or not k3s_etcd_datastore)
|
|
success_msg: "Control plane configuration is valid."
|
|
fail_msg: "Control plane configuration is invalid. Please see notes about k3s_control_node and HA in README.md."
|
|
when: k3s_controller_list | length == 1
|
|
and not k3s_use_unsupported_config
|
|
and k3s_control_node
|
|
|
|
- name: Check the conditions when multiple controllers are defined
|
|
ansible.builtin.assert:
|
|
that:
|
|
- (k3s_controller_list | length >= 2)
|
|
and (("datastore-endpoint" in k3s_runtime_config and k3s_runtime_config['datastore-endpoint'])
|
|
or (k3s_etcd_datastore is defined and k3s_etcd_datastore))
|
|
success_msg: "Control plane configuration is valid."
|
|
fail_msg: "Control plane configuration is invalid. Please see notes about k3s_control_node and HA in README.md."
|
|
when: k3s_controller_list | length >= 2
|
|
and k3s_control_node
|
|
|
|
- name: Check the conditions when embedded etcd is defined
|
|
ansible.builtin.assert:
|
|
that:
|
|
- (k3s_controller_list | length >= 3)
|
|
and (((k3s_controller_list | length) % 2) == 1)
|
|
success_msg: "Control plane configuration is valid."
|
|
fail_msg: "Etcd should have a minimum of 3 defined members and the number of members should be odd. Please see notes about HA in README.md"
|
|
when: k3s_etcd_datastore is defined
|
|
and k3s_etcd_datastore
|
|
and not k3s_use_unsupported_config
|
|
and k3s_control_node
|