Skip to content

Commit e9dbfa3

Browse files
pavel-shirshovPksStudent
authored andcommitted
Add specification to exception handlers
1 parent af9fbfb commit e9dbfa3

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

dockers/docker-fpm-frr/bgpcfgd

+10-9
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ class TemplateFabric(object):
134134
else:
135135
try:
136136
addr = netaddr.IPNetwork(str(value))
137-
except:
137+
except (netaddr.NotRegisteredError, netaddr.AddrFormatError, netaddr.AddrConversionError):
138138
return False
139139
return addr.version == 4
140140

@@ -147,7 +147,7 @@ class TemplateFabric(object):
147147
else:
148148
try:
149149
addr = netaddr.IPNetwork(str(value))
150-
except:
150+
except (netaddr.NotRegisteredError, netaddr.AddrFormatError, netaddr.AddrConversionError):
151151
return False
152152
return addr.version == 6
153153

@@ -158,7 +158,7 @@ class TemplateFabric(object):
158158
else:
159159
try:
160160
prefix = netaddr.IPNetwork(str(value))
161-
except:
161+
except (netaddr.NotRegisteredError, netaddr.AddrFormatError, netaddr.AddrConversionError):
162162
return None
163163
return str(getattr(prefix, attr))
164164

@@ -376,17 +376,17 @@ class BGPPeerGroupMgr(object):
376376
def update_policy(self, name, **kwargs):
377377
try:
378378
policy = self.policy_template.render(**kwargs)
379-
except:
380-
syslog.syslog(syslog.LOG_ERR, "Can't render policy template name: '%s'" % name)
379+
except jinja2.TemplateError as e:
380+
syslog.syslog(syslog.LOG_ERR, "Can't render policy template name: '%s': %s" % (name, str(e)))
381381
return False
382382

383383
return self.update_entity(policy, "Routing policy for peer '%s'" % name)
384384

385385
def update_pg(self, name, **kwargs):
386386
try:
387387
pg = self.peergroup_template.render(**kwargs)
388-
except:
389-
syslog.syslog(syslog.LOG_ERR, "Can't render peer-group template: '%s'" % name)
388+
except jinja2.TemplateError as e:
389+
syslog.syslog(syslog.LOG_ERR, "Can't render peer-group template: '%s': %s" % (name, str(e)))
390390
return False
391391

392392
if kwargs['vrf'] == 'default':
@@ -486,8 +486,9 @@ class BGPPeerMgrBase(Manager):
486486

487487
try:
488488
cmd = self.templates["add"].render(**kwargs)
489-
except:
490-
syslog.syslog(syslog.LOG_ERR, 'Peer "(%s|%s)". Error in rendering the template for "SET" command "%s"' % print_data)
489+
except jinja2.TemplateError as e:
490+
msg = 'Peer "(%s|%s)". Error in rendering the template for "SET" command "%s"' % print_data
491+
syslog.syslog(syslog.LOG_ERR, "%s: %s" % (msg, str(e)))
491492
return True
492493
if cmd is not None:
493494
ret_code = self.apply_op(cmd, vrf)

0 commit comments

Comments
 (0)