From a8cef962e2a1154318aba92285be61a48daf0b63 Mon Sep 17 00:00:00 2001
From: tu1h <92532497+tu1h@users.noreply.github.com>
Date: Thu, 5 Jan 2023 21:09:58 +0800
Subject: [PATCH] Add retry to avoid 'unknown' state for calicoctl (#9633)

Signed-off-by: tu1h <lihai.tu@daocloud.io>

Signed-off-by: tu1h <lihai.tu@daocloud.io>
---
 roles/network_plugin/calico/tasks/check.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/roles/network_plugin/calico/tasks/check.yml b/roles/network_plugin/calico/tasks/check.yml
index 530985f98..cc514a5a9 100644
--- a/roles/network_plugin/calico/tasks/check.yml
+++ b/roles/network_plugin/calico/tasks/check.yml
@@ -51,6 +51,9 @@
   async: 10
   poll: 3
   run_once: True
+  until: calico_version_on_server.stdout != 'unknown'
+  retries: 5
+  delay: "{{ retry_stagger | random + 3 }}"
   delegate_to: "{{ groups['kube_control_plane'][0] }}"
   changed_when: false
   failed_when: false
@@ -62,6 +65,7 @@
     msg: >
       Your version of calico is not fresh enough for upgrade.
       Minimum version is {{ calico_min_version_required }} supported by the previous kubespray release.
+      But current version is {{ calico_version_on_server.stdout }}.
   when:
     - 'calico_version_on_server.stdout is defined'
     - calico_version_on_server.stdout
-- 
GitLab