Skip to content

Commit 15b9a95

Browse files
committed
errorcode debug
1 parent 1f5cb14 commit 15b9a95

1 file changed

Lines changed: 20 additions & 9 deletions

File tree

exporter.py

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@ class CitrixAdcCollector(object):
247247

248248
SUCCESS = 'SUCCESS'
249249
FAILURE = 'FAILURE'
250+
INVALID = 'INVALID'
250251

251252
def __init__(self, nsip, metrics, username, password, protocol,
252253
nitro_timeout, k8s_cic_prefix, ns_cert):
@@ -274,7 +275,7 @@ def collect(self):
274275
data = {}
275276
self.stats_access_pending = True
276277
for entity in self.metrics.keys():
277-
logger.debug('Collecting metric {} for {}'.format(entity, self.nsip))
278+
logger.debug('Collecting metric {}'.format(entity))
278279
try:
279280
status, entity_data = self.collect_data(entity)
280281
except Exception as e:
@@ -405,12 +406,16 @@ def collect_data(self, entity):
405406
return status, data[entity]
406407
else:
407408
logger.info('No metric data available for entity: {}'.format(entity))
409+
if status == self.INVALID:
410+
logger.debug('Invalid metric fetch for entity "{}" ' \
411+
'with errorcode:{} '.format(entity,data['errorcode']))
408412
return status, None
409413
else:
410414
logger.warning('Unable to fetch data for entity: {}'.format(entity))
411415
return status, None
412416
except Exception as e:
413417
logger.error('Error in fetching entity {}'.format(e))
418+
return self.FAILURE, None
414419

415420
def get_svc_grp_services_stats(self):
416421
'''Fetches stats for services'''
@@ -489,14 +494,20 @@ def ns_session_get(self, url):
489494
r = self.ns_session.get(
490495
url, verify=self.ns_cert, timeout=self.nitro_timeout)
491496
data = r.json()
492-
if data['errorcode'] == 0:
493-
return self.SUCCESS, data
494-
elif data['errorcode'] in [NSERR_SESSION_EXPIRED, NSERR_AUTHTIMEOUT]:
495-
self.ns_session_clear()
496-
if self.login():
497-
return 'retry', None
498-
else:
499-
return self.FAILURE, None
497+
if data:
498+
if 'errorcode' in data:
499+
if data['errorcode'] == 0:
500+
return self.SUCCESS, data
501+
elif data['errorcode'] in [NSERR_SESSION_EXPIRED, NSERR_AUTHTIMEOUT]:
502+
self.ns_session_clear()
503+
if self.login():
504+
return 'retry', None
505+
else:
506+
return self.FAILURE, None
507+
else:
508+
return self.INVALID, data
509+
else:
510+
return self.FAILURE, None
500511
except requests.exceptions.RequestException as err:
501512
logger.error('Stat Access Error {}'.format(err))
502513
except Exception as e:

0 commit comments

Comments
 (0)