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>master
parent
b915574338
commit
c8527cc9ee
|
@ -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:
|
||||
|
@ -35,6 +35,21 @@
|
|||
INSTALL_K3S_EXEC: "agent"
|
||||
changed_when: true
|
||||
|
||||
- name: Setup optional config file
|
||||
when: agent_config_yaml is defined
|
||||
block:
|
||||
- name: Make config directory
|
||||
ansible.builtin.file:
|
||||
path: "/etc/rancher/k3s"
|
||||
mode: "0755"
|
||||
state: directory
|
||||
- name: Copy config values
|
||||
ansible.builtin.copy:
|
||||
content: "{{ agent_config_yaml }}"
|
||||
dest: "/etc/rancher/k3s/config.yaml"
|
||||
mode: "0644"
|
||||
register: _agent_config_result
|
||||
|
||||
- name: Get the token from the first server
|
||||
ansible.builtin.set_fact:
|
||||
token: "{{ hostvars[groups[server_group][0]].token }}"
|
||||
|
@ -66,5 +81,5 @@
|
|||
ansible.builtin.systemd:
|
||||
name: k3s-agent
|
||||
daemon_reload: "{{ true if k3s_agent_service.changed else false }}"
|
||||
state: "{{ 'restarted' if k3s_agent_service.changed else 'started' }}"
|
||||
state: "{{ 'restarted' if (k3s_agent_service.changed or _agent_config_result.changed) else 'started' }}"
|
||||
enabled: true
|
||||
|
|
|
@ -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}"
|
||||
|
|
Loading…
Reference in New Issue