improve check mode support, allow for agent config yaml, restart service if config changed (#388)

Signed-off-by: Will Brown <will@wbrwn.co>
Co-authored-by: Will Brown <will@wbrwn.co>
This commit is contained in:
Will
2025-01-28 12:15:09 -05:00
committed by GitHub
parent b915574338
commit c8527cc9ee
2 changed files with 24 additions and 8 deletions

View File

@@ -6,7 +6,7 @@
ignore_errors: true
- name: Set k3s installed version
when: k3s_version_output.rc == 0
when: not ansible_check_mode and k3s_version_output.rc == 0
ansible.builtin.set_fact:
installed_k3s_version: "{{ k3s_version_output.stdout_lines[0].split(' ')[2] }}"
@@ -15,7 +15,7 @@
# - we couldn't get k3s installed version in the first task of this role
# - the installed version of K3s on the nodes is older than the requested version in ansible vars
- name: Download artifact only if needed
when: airgap_dir is undefined and ( k3s_version_output.rc != 0 or installed_k3s_version is version(k3s_version, '<') )
when: not ansible_check_mode and airgap_dir is undefined and ( k3s_version_output.rc != 0 or installed_k3s_version is version(k3s_version, '<') )
block:
- name: Download K3s install script
ansible.builtin.get_url:
@@ -53,6 +53,7 @@
content: "{{ server_config_yaml }}"
dest: "/etc/rancher/k3s/config.yaml"
mode: "0644"
register: _server_config_result
- name: Init first server node
when: inventory_hostname == groups[server_group][0]
@@ -105,7 +106,7 @@
when:
- ansible_facts.services['k3s.service'] is defined
- ansible_facts.services['k3s.service'].state == 'running'
- service_file_single.changed or service_file_ha.changed
- service_file_single.changed or service_file_ha.changed or _server_config_result.changed
ansible.builtin.systemd:
name: k3s
daemon_reload: true
@@ -247,7 +248,7 @@
when:
- ansible_facts.services['k3s.service'] is defined
- ansible_facts.services['k3s.service'].state == 'running'
- service_file_ha.changed or service_file_external_db.changed
- service_file_ha.changed or service_file_external_db.changed or _server_config_result.changed
ansible.builtin.systemd:
name: k3s
daemon_reload: true
@@ -262,7 +263,7 @@
enabled: true
- name: Verify that all server nodes joined
when: (groups[server_group] | length) > 1
when: not ansible_check_mode and (groups[server_group] | length) > 1
ansible.builtin.command:
cmd: >
k3s kubectl get nodes -l "node-role.kubernetes.io/control-plane=true" -o=jsonpath="{.items[*].metadata.name}"