vty tests: attempt to get at sporadic 'Broken Pipe' error

Add verbose logging as well as three retries around the place that often
fails on our build server with a 'Broken Pipe' error.

Change-Id: I8851b76b2d7b87dd500ae40f47e6bea716ef3fc4
This commit is contained in:
Neels Hofmeyr 2017-01-26 23:04:28 +01:00
parent 35706ddd80
commit 7d17c3ef61
1 changed files with 15 additions and 1 deletions

View File

@ -1257,7 +1257,21 @@ def ipa_handle_small(x, verbose = False):
def ipa_handle_resp(x, tk, verbose = False):
s = data2str(x.recv(38))
if "0023fe040108010701020103010401050101010011" in s:
x.send(IPA().id_resp(IPA().identity(name = tk.encode('utf-8'))))
retries = 3
while True:
print "\tsending IPA identity(%s) at %s" % (tk, time.strftime("%T"))
try:
x.send(IPA().id_resp(IPA().identity(name = tk.encode('utf-8'))))
print "\tdone sending IPA identity(%s) at %s" % (tk,
time.strftime("%T"))
break
except:
print "\tfailed sending IPA identity at", time.strftime("%T")
if retries < 1:
print "\tgiving up"
raise
print "\tretrying (%d attempts left)" % retries
retries -= 1
else:
if (verbose):
print "\tBSC <- NAT: ", s