From fbf957ab5df77ea96a03ad533197dfdb1a745b8a Mon Sep 17 00:00:00 2001 From: Max Gautier Date: Mon, 13 Oct 2025 12:54:58 +0000 Subject: [PATCH] Fix breakage when ignoring all kubeadm preflight errors (#12606) kubeadm errors out if 'all' is specified with specific checks, so check that case when we add hardcoded checks. Add a test to catch regression. --- roles/kubernetes/kubeadm/tasks/main.yml | 4 ++-- tests/files/ubuntu24-flannel-ha.yml | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/roles/kubernetes/kubeadm/tasks/main.yml b/roles/kubernetes/kubeadm/tasks/main.yml index 9e46b7087..1191b9986 100644 --- a/roles/kubernetes/kubeadm/tasks/main.yml +++ b/roles/kubernetes/kubeadm/tasks/main.yml @@ -91,13 +91,13 @@ - not kubelet_conf.stat.exists vars: ignored: - - DirAvailable--etc-kubernetes-manifests + - "{{ 'DirAvailable--etc-kubernetes-manifests' if 'all' not in kubeadm_ignore_preflight_errors }}" - "{{ kubeadm_ignore_preflight_errors }}" command: >- timeout -k {{ kubeadm_join_timeout }} {{ kubeadm_join_timeout }} {{ bin_dir }}/kubeadm join --config {{ kube_config_dir }}/kubeadm-client.conf - --ignore-preflight-errors={{ ignored | flatten | join(',') }} + --ignore-preflight-errors={{ ignored | select | flatten | join(',') }} --skip-phases={{ kubeadm_join_phases_skip | join(',') }} - name: Update server field in kubelet kubeconfig diff --git a/tests/files/ubuntu24-flannel-ha.yml b/tests/files/ubuntu24-flannel-ha.yml index a5cf93d83..c6de8a44b 100644 --- a/tests/files/ubuntu24-flannel-ha.yml +++ b/tests/files/ubuntu24-flannel-ha.yml @@ -9,3 +9,7 @@ etcd_deployment_type: kubeadm kubeadm_certificate_key: 3998c58db6497dd17d909394e62d515368c06ec617710d02edea31c06d741085 skip_non_kubeadm_warning: true kube_asymmetric_encryption_algorithm: "RSA-4096" + +# This test the variable usage, it is not a prerequisite of the test itself +kubeadm_ignore_preflight_errors: + - all