fix show interface neighbor expected empty issue #2465
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why I did it
With the commit of sonic-net/sonic-buildimage#11894.
device neighbor metadata in config_db.json changed a little bit when "lo_addr"/"mgmt_addr" are None.
MSFT ADO: 15802924
CLI parse code for "show interface neighbor expected" is not strong enough to handle None case.
It always assume 'lo_addr' and 'mgmt_addr' exists, and will finally cause KeyError, show command will not print the information.
How I did it
After discussion with team, we plan to keep current yang model change, but
add fields check for 'lo_addr', "mgmt_addr", "type"before access it.
How to verify it
"show interface neighbor expected" with fix image
fixes #12301