File add-sleep-on-exception-handling-on-minion-connection.patch of Package py27-compat-salt

From 9388a1c3045148dff40b1ba7aac7e49153e81603 Mon Sep 17 00:00:00 2001
From: Victor Zhestkov <35733135+vzhestkov@users.noreply.github.com>
Date: Thu, 18 Feb 2021 14:50:03 +0300
Subject: [PATCH] Add sleep on exception handling on minion connection
 attempt to the master (bsc#1174855) (#308)

---
 salt/minion.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/salt/minion.py b/salt/minion.py
index 6b3dfe6e55..60e34939e0 100644
--- a/salt/minion.py
+++ b/salt/minion.py
@@ -1037,6 +1037,9 @@ class MinionManager(MinionBase):
         last = 0  # never have we signed in
         auth_wait = minion.opts['acceptance_wait_time']
         failed = False
+        retry_wait = 1
+        retry_wait_inc = 1
+        max_retry_wait = 20
         while True:
             try:
                 if minion.opts.get('beacons_before_connect', False):
@@ -1068,6 +1071,9 @@ class MinionManager(MinionBase):
                     'Unexpected error while connecting to %s',
                     minion.opts['master'], exc_info=True
                 )
+                yield salt.ext.tornado.gen.sleep(retry_wait)
+                if retry_wait < max_retry_wait:
+                    retry_wait += retry_wait_inc
 
     # Multi Master Tune In
     def tune_in(self):
-- 
2.30.0


openSUSE Build Service is sponsored by