From 6e7b6188ddda8e53d51b5d6d5a46cd3caa9ff271 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Mon, 18 Oct 2021 16:31:59 -0400 Subject: [PATCH] Fix api client attempts and speed up checking connections --- .../common/opt/confluent/bin/apiclient | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/confluent_osdeploy/common/opt/confluent/bin/apiclient b/confluent_osdeploy/common/opt/confluent/bin/apiclient index f437061c..f4383332 100644 --- a/confluent_osdeploy/common/opt/confluent/bin/apiclient +++ b/confluent_osdeploy/common/opt/confluent/bin/apiclient @@ -155,15 +155,21 @@ class HTTPSClient(client.HTTPConnection, object): hosts.append(self.v4srv) if self.v6srv: hosts.append(self.v6srv) - for host in hosts: - try: - addrinf = socket.getaddrinfo(host, self.port)[0] - psock = socket.socket(addrinf[0]) - psock.connect(addrinf[4]) - foundsrv = host - psock.close() - except OSError: + for timeo in (0.1, 10): + for host in hosts: + try: + addrinf = socket.getaddrinfo(host, self.port)[0] + psock = socket.socket(addrinf[0]) + psock.settimeout(timeo) + psock.connect(addrinf[4]) + foundsrv = host + psock.close() + break + except OSError: + continue + else: continue + break if not foundsrv: raise Exception('Unable to reach any hosts') return foundsrv