From c35e916bf0153b8e1659c0b7a2d5bfa574aabfbf Mon Sep 17 00:00:00 2001 From: Hossein Shafagh Date: Wed, 31 Mar 2021 16:46:57 -0700 Subject: [PATCH] prevent an exception going unhandled in get_endpoints --- lemur/plugins/lemur_aws/plugin.py | 37 ++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/lemur/plugins/lemur_aws/plugin.py b/lemur/plugins/lemur_aws/plugin.py index bf7d89bb7c..09a9c235dc 100644 --- a/lemur/plugins/lemur_aws/plugin.py +++ b/lemur/plugins/lemur_aws/plugin.py @@ -217,19 +217,32 @@ def get_endpoints(self, options, **kwargs): regions = "".join(regions.split()).split(",") for region in regions: - elbs = elb.get_all_elbs(account_number=account_number, region=region) - current_app.logger.info({ - "message": "Describing classic load balancers", - "account_number": account_number, - "region": region, - "number_of_load_balancers": len(elbs) - }) + try: + elbs = elb.get_all_elbs(account_number=account_number, region=region) + current_app.logger.info({ + "message": "Describing classic load balancers", + "account_number": account_number, + "region": region, + "number_of_load_balancers": len(elbs) + }) + except Exception as e: # noqa + sentry.captureException() + continue for e in elbs: - endpoints.extend(get_elb_endpoints(account_number, region, e)) + try: + endpoints.extend(get_elb_endpoints(account_number, region, e)) + except Exception as e: # noqa + sentry.captureException() + continue # fetch advanced ELBs - elbs_v2 = elb.get_all_elbs_v2(account_number=account_number, region=region) + try: + elbs_v2 = elb.get_all_elbs_v2(account_number=account_number, region=region) + except Exception as e: # noqa + sentry.captureException() + continue + current_app.logger.info({ "message": "Describing advanced load balancers", "account_number": account_number, @@ -238,7 +251,11 @@ def get_endpoints(self, options, **kwargs): }) for e in elbs_v2: - endpoints.extend(get_elb_endpoints_v2(account_number, region, e)) + try: + endpoints.extend(get_elb_endpoints_v2(account_number, region, e)) + except Exception as e: # noqa + sentry.captureException() + continue return endpoints