Skip to content

Commit a97a2ef

Browse files
authored
Handle exceptions raised by signal when used in flask (#1475)
Issues: Fixes #<issueid> Problem: Using the SDK in flask will raise an exception Analysis: This handles (and discards) the exception; disabling hard timeouts. Tests:
1 parent 6a612fc commit a97a2ef

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

f5/bigip/__init__.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,16 @@ def post_configuration_setup(self):
116116
def _get_tmos_version(self):
117117
connect = self._meta_data['bigip']._meta_data['icr_session']
118118
base_uri = self._meta_data['uri'] + 'tm/sys/'
119-
if HAS_SIGNAL:
120-
signal.signal(SIGALRM, timeout_handler)
121-
signal.alarm(int(self.args['timeout']))
122-
response = connect.get(base_uri)
123-
signal.alarm(0)
124-
else:
119+
try:
120+
if HAS_SIGNAL:
121+
signal.signal(SIGALRM, timeout_handler)
122+
signal.alarm(int(self.args['timeout']))
123+
response = connect.get(base_uri)
124+
signal.alarm(0)
125+
else:
126+
response = connect.get(base_uri)
127+
except ValueError:
128+
# Flask raises this when running F5-SDK in an instance
125129
response = connect.get(base_uri)
126130
ver = response.json()
127131
version = urlparse.parse_qs(

0 commit comments

Comments
 (0)