diff --git a/roles/network_plugin/calico/tasks/check.yml b/roles/network_plugin/calico/tasks/check.yml
index 530985f985d6c869c70016598f7e755e3277c4a2..cc514a5a928a092c56765ec4f5dde81174a84ec7 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