forked from tim/k3s-ansible
a52e2ea72c
- Wait for the initial control-plane API before starting joining masters\n- Bound and redact k3s-init failure diagnostics
45 lines
1.3 KiB
YAML
45 lines
1.3 KiB
YAML
---
|
|
# Download logs of k3s-init.service from the nodes to localhost.
|
|
# Note that log_destination must be set.
|
|
|
|
- name: Fetch k3s-init.service logs
|
|
ansible.builtin.command:
|
|
cmd: >-
|
|
timeout --signal=TERM --kill-after=5s 30s journalctl --no-pager
|
|
--unit=k3s-init.service --since=-30min --lines=5000
|
|
changed_when: false
|
|
failed_when: false
|
|
register: k3s_init_log
|
|
|
|
- name: Fetch k3s-init.service status
|
|
ansible.builtin.command:
|
|
cmd: >-
|
|
timeout --signal=TERM --kill-after=5s 15s systemctl status
|
|
k3s-init.service --no-pager --full
|
|
changed_when: false
|
|
failed_when: false
|
|
no_log: true
|
|
register: k3s_init_status
|
|
|
|
- name: Create {{ log_destination }}
|
|
delegate_to: localhost
|
|
run_once: true
|
|
become: false
|
|
ansible.builtin.file:
|
|
path: "{{ log_destination }}"
|
|
state: directory
|
|
mode: "0755"
|
|
|
|
- name: Store logs to {{ log_destination }}
|
|
delegate_to: localhost
|
|
become: false
|
|
ansible.builtin.template:
|
|
src: content.j2
|
|
dest: "{{ log_destination }}/k3s-init@{{ ansible_hostname }}.log"
|
|
mode: "0644"
|
|
vars:
|
|
content: >-
|
|
{{ ('=== k3s-init.service status ===\n' + k3s_init_status.stdout
|
|
+ '\n\n=== k3s-init.service journal ===\n' + k3s_init_log.stdout)
|
|
| regex_replace('--token(?:=|\\s+)[^\\s]+', '--token ***') }}
|