sonic-utilities icon indicating copy to clipboard operation
sonic-utilities copied to clipboard

fix show acl table exception

Open pettershao-ragilenetworks opened this issue 2 years ago • 4 comments

What I did

Fix KeyError exception for show acl table root@sonic:/home/admin# config acl add table test CTRLPLANE root@sonic:/home/admin# show acl table Traceback (most recent call last): File "/usr/local/bin/acl-loader", line 8, in sys.exit(cli()) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 764, in call return self.main(*args, **kwargs) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) File "/usr/local/lib/python3.9/dist-packages/click/decorators.py", line 17, in new_func return f(get_current_context(), *args, **kwargs) File "/usr/local/lib/python3.9/dist-packages/acl_loader/main.py", line 967, in table acl_loader.show_table(table_name) File "/usr/local/lib/python3.9/dist-packages/acl_loader/main.py", line 798, in show_table services = natsorted(val["services"]) KeyError: 'services' root@sonic:/home/admin#

How I did it

Check if value is empty

How to verify it

Run test

Previous command output (if the output of a command-line utility has changed)

root@sonic:/home/admin# show acl table Traceback (most recent call last): File "/usr/local/bin/acl-loader", line 8, in sys.exit(cli()) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 764, in call return self.main(*args, **kwargs) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) File "/usr/local/lib/python3.9/dist-packages/click/decorators.py", line 17, in new_func return f(get_current_context(), *args, **kwargs) File "/usr/local/lib/python3.9/dist-packages/acl_loader/main.py", line 967, in table acl_loader.show_table(table_name) File "/usr/local/lib/python3.9/dist-packages/acl_loader/main.py", line 798, in show_table services = natsorted(val["services"]) KeyError: 'services'

New command output (if the output of a command-line utility has changed)

image

@qiluo-msft could you please review, thanks.

@qiluo-msft @prsunny could you please review, thanks.

@qiluo-msft @bingwang-ms please review again, thanks

@qiluo-msft @bingwang-ms could you please review and merge, thanks.