Skip to content

Commit c863e94

Browse files
taoyl-mslguohan
authored andcommitted
[acl-loader] Not to crash upon invalid rule (sonic-net#232)
1 parent eafa643 commit c863e94

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

acl_loader/main.py

+9-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import click
44
import json
5+
import syslog
56
import tabulate
67
from natsort import natsorted
78

@@ -13,14 +14,17 @@
1314

1415
def info(msg):
1516
click.echo(click.style("Info: ", fg='cyan') + click.style(str(msg), fg='green'))
17+
syslog.syslog(syslog.LOG_INFO, msg)
1618

1719

1820
def warning(msg):
1921
click.echo(click.style("Warning: ", fg='cyan') + click.style(str(msg), fg='yellow'))
22+
syslog.syslog(syslog.LOG_WARNING, msg)
2023

2124

2225
def error(msg):
2326
click.echo(click.style("Error: ", fg='cyan') + click.style(str(msg), fg='red'))
27+
syslog.syslog(syslog.LOG_ERR, msg)
2428

2529

2630
def deep_update(dst, src):
@@ -354,8 +358,11 @@ def convert_rules(self):
354358

355359
for acl_entry_name in acl_set.acl_entries.acl_entry:
356360
acl_entry = acl_set.acl_entries.acl_entry[acl_entry_name]
357-
rule = self.convert_rule_to_db_schema(table_name, acl_entry)
358-
deep_update(self.rules_info, rule)
361+
try:
362+
rule = self.convert_rule_to_db_schema(table_name, acl_entry)
363+
deep_update(self.rules_info, rule)
364+
except AclLoaderException as ex:
365+
error("Error processing rule %s: %s. Skipped." % (acl_entry_name, ex))
359366

360367
if not self.is_table_mirror(table_name):
361368
deep_update(self.rules_info, self.deny_rule(table_name))

0 commit comments

Comments
 (0)