From 8da0ab98f8a5beacd77c3c52bf3d1d516cc336d9 Mon Sep 17 00:00:00 2001 From: Tuan-Dat Tran Date: Mon, 27 Apr 2026 21:43:42 +0200 Subject: [PATCH] fix(k3s_server): skip installation if k3s binary already exists Primary and secondary install tasks now check k3s_status.stat.exists so re-running the playbook is idempotent on already-provisioned nodes. --- roles/k3s_server/tasks/main.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/roles/k3s_server/tasks/main.yaml b/roles/k3s_server/tasks/main.yaml index 27fc64c..c68bb5f 100644 --- a/roles/k3s_server/tasks/main.yaml +++ b/roles/k3s_server/tasks/main.yaml @@ -16,14 +16,18 @@ - name: Install primary k3s server include_tasks: primary_installation.yaml - when: inventory_hostname == groups['k3s_server'] | first + when: + - inventory_hostname == groups['k3s_server'] | first + - not k3s_status.stat.exists - name: Get token from primary k3s server include_tasks: pull_token.yaml - name: Install seconary k3s servers include_tasks: secondary_installation.yaml - when: inventory_hostname != groups['k3s_server'] | first + when: + - inventory_hostname != groups['k3s_server'] | first + - not k3s_status.stat.exists - name: Set kubeconfig on localhost include_tasks: create_kubeconfig.yaml