mirror of
https://github.com/k3s-io/k3s-ansible.git
synced 2024-10-30 07:59:38 +01:00
006653f3ff
* Make agent and server groups configurable Signed-off-by: Meagan Harris <thewitch@siliconsorceress.com> * Fix typo in upgrade role Co-authored-by: Derek Nola <derek.nola@suse.com> Signed-off-by: Meagan Harris <47128741+simagick@users.noreply.github.com> --------- Signed-off-by: Meagan Harris <thewitch@siliconsorceress.com> Signed-off-by: Meagan Harris <47128741+simagick@users.noreply.github.com> Co-authored-by: Derek Nola <derek.nola@suse.com>
69 lines
2.1 KiB
YAML
69 lines
2.1 KiB
YAML
---
|
|
# with_fileglob doesn't work with remote_src, it tries to find the file on the
|
|
# local control-plane instead of the remote host. Shell supports wildcards.
|
|
- name: Get k3s installed version
|
|
ansible.builtin.command: k3s --version
|
|
register: k3s_version_output
|
|
changed_when: false
|
|
|
|
- name: Set k3s installed version
|
|
ansible.builtin.set_fact:
|
|
installed_k3s_version: "{{ k3s_version_output.stdout_lines[0].split(' ')[2] }}"
|
|
|
|
# We should be downloading and installing the newer version only if we are in the following case :
|
|
# - the installed version of K3s on the nodes is older than the requested version in ansible vars
|
|
- name: Update node only if needed
|
|
when: installed_k3s_version is version(k3s_version, '<')
|
|
block:
|
|
- name: Find K3s service files
|
|
ansible.builtin.find:
|
|
paths: "{{ systemd_dir }}"
|
|
patterns: "k3s*.service"
|
|
register: k3s_service_files
|
|
|
|
- name: Save current K3s service
|
|
ansible.builtin.copy:
|
|
src: "{{ item.path }}"
|
|
dest: "{{ item.path }}.bak"
|
|
remote_src: true
|
|
mode: preserve
|
|
force: true
|
|
loop: "{{ k3s_service_files.files }}"
|
|
|
|
- name: Install new K3s Version
|
|
ansible.builtin.command:
|
|
cmd: /usr/local/bin/k3s-install.sh
|
|
environment:
|
|
INSTALL_K3S_SKIP_START: "true"
|
|
INSTALL_K3S_VERSION: "{{ k3s_version }}"
|
|
changed_when: true
|
|
|
|
- name: Restore K3s service
|
|
ansible.builtin.copy:
|
|
src: "{{ item.path }}.bak"
|
|
dest: "{{ item.path }}"
|
|
remote_src: true
|
|
mode: preserve
|
|
force: true
|
|
loop: "{{ k3s_service_files.files }}"
|
|
|
|
- name: Clean up temporary K3s service backups
|
|
ansible.builtin.file:
|
|
path: "{{ item.path }}.bak"
|
|
state: absent
|
|
loop: "{{ k3s_service_files.files }}"
|
|
|
|
- name: Restart K3s service [server]
|
|
when: "server_group in group_names"
|
|
ansible.builtin.systemd:
|
|
state: restarted
|
|
daemon_reload: true
|
|
name: k3s
|
|
|
|
- name: Restart K3s service [agent]
|
|
when: "agent_group in group_names"
|
|
ansible.builtin.systemd:
|
|
state: restarted
|
|
daemon_reload: true
|
|
name: k3s-agent
|