From 1402f33108810537cf80ae91edbad8e4e15c9ed2 Mon Sep 17 00:00:00 2001 From: Timothy Stewart Date: Fri, 31 Jul 2026 17:36:32 -0500 Subject: [PATCH] fix(k3s-server): build delegated join arguments - Preserve explicit per-host server initialization overrides\n- Build default join arguments from the delegated host variables\n- Keep initialization commands out of normal task output --- roles/k3s_server/tasks/join_master.yml | 12 +++++++++++- roles/k3s_server/tasks/main.yml | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/roles/k3s_server/tasks/join_master.yml b/roles/k3s_server/tasks/join_master.yml index 9609580e..2b42d915 100644 --- a/roles/k3s_server/tasks/join_master.yml +++ b/roles/k3s_server/tasks/join_master.yml @@ -11,9 +11,19 @@ ansible.builtin.command: cmd: >- systemd-run -p RestartSec=2 -p Restart=on-failure --unit=k3s-init - k3s server {{ hostvars[joining_master].server_init_args }} + k3s server {{ joining_server_args }} creates: "{{ systemd_dir }}/k3s-init.service" delegate_to: "{{ joining_master }}" + no_log: true + vars: + primary_master: "{{ groups[group_name_master | default('master')][0] }}" + primary_master_api: >- + {{ hostvars[primary_master].k3s_node_ip | split(',') | first | ansible.utils.ipwrap }} + joining_server_args: >- + {{ hostvars[joining_master].server_init_args | default('--server https://' + + primary_master_api + ':6443 --token ' + + (hostvars[joining_master].k3s_token | default(k3s_token)) + ' ' + + (hostvars[joining_master].extra_server_args | default(''))) }} - name: Wait for primary registration of {{ joining_master }} ansible.builtin.command: diff --git a/roles/k3s_server/tasks/main.yml b/roles/k3s_server/tasks/main.yml index a921e3e0..5a459b72 100644 --- a/roles/k3s_server/tasks/main.yml +++ b/roles/k3s_server/tasks/main.yml @@ -38,6 +38,7 @@ ansible.builtin.command: cmd: systemd-run -p RestartSec=2 -p Restart=on-failure --unit=k3s-init k3s server {{ server_init_args }} creates: "{{ systemd_dir }}/k3s-init.service" + no_log: true when: ansible_hostname == hostvars[groups[group_name_master | default('master')][0]]['ansible_hostname'] - name: Wait for the first master Kubernetes API before joining other masters