From c32bec34bc1fdd7bedfe7ab50e680e6cd050c993 Mon Sep 17 00:00:00 2001 From: MichaelFisher1997 Date: Wed, 22 Apr 2026 04:41:48 +0000 Subject: [PATCH] fix: quote kube-vip readiness jsonpath in bootstrap role The local kube-vip readiness probe used an unquoted jsonpath predicate, which made kubectl treat Ready as an identifier instead of a string. Use a quoted jsonpath via shell so bootstrap can detect the primary kube-vip pod properly before waiting on the API VIP. --- ansible/roles/kube-vip-deploy/tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ansible/roles/kube-vip-deploy/tasks/main.yml b/ansible/roles/kube-vip-deploy/tasks/main.yml index 7d18873..14c5e8d 100644 --- a/ansible/roles/kube-vip-deploy/tasks/main.yml +++ b/ansible/roles/kube-vip-deploy/tasks/main.yml @@ -10,11 +10,11 @@ changed_when: true - name: Wait for local kube-vip pod to be ready - command: >- + shell: >- kubectl -n kube-system get pods -l app.kubernetes.io/name=kube-vip --field-selector spec.nodeName={{ inventory_hostname }} - -o jsonpath={.items[0].status.conditions[?(@.type=="Ready")].status} + -o jsonpath='{.items[0].status.conditions[?(@.type=="Ready")].status}' register: kube_vip_pod_ready changed_when: false until: kube_vip_pod_ready.stdout == "True"