Enhanced route_check.py for multi_asic platforms#3077
Conversation
|
Thanks @arlakshm for the review comments.. Please have a look and let me know if anything. |
|
@deepak-singhal0408 could you run test with 202305 with this PR? |
|
Hi @StormLiangMS , ran the test on a T1 running 202305.12 Results: /usr/local/bin# route_check.py -m INFO expect success on dualtor, expect error on all other devices! expect success! |
|
hi @deepak-singhal0408 cherry pick conflict, could you file separate PR for 202305? |
…ute_check_masic What I did Enhanced route_check.py script to cover multi-asic platforms. Accordingly enhanced the test files as well. Master Branch PR: sonic-net/sonic-utilities#3077 MSFT ADO: 25416673 How I did it Enhanced the route_check.py script to take additional optional parameter(--n/namespace). Without this parameter, the check will be run on all asics in multi-asic platforms. Different connections to DBs are modified accordingly to connect to relevant ns dbs. Result will be encapsulated under different namespace. For single asic, results will be displayed under Default-Namespace(""). testData and the testfiles are enhanced accordinly.
|
@anamehra @deepak-singhal0408 #3075 and #3077 have blocked sonic-utilities repo sub-module advance in sonic-buildimage repo. |
* Enhanced route_check.py for multi_asic platforms * skip eth1 routes for packet-chassis, pytest enhancements
What I did Cherry pick of PR #3077 MSFT ADO: 25416673 How I did it Enhanced the route_check.py script to take additional optional parameter(--n/namespace). Without this parameter, the check will be run on all asics in multi-asic platforms. Different connections to DBs are modified accordingly to connect to relevant ns dbs. Result will be encapsulated under different namespace. For single asic, results will be displayed under Default-Namespace(""). testData and the testfiles are enhanced accordinly. How to verify it Verified that all pytest UT cases are passing. Verified the route_check_test.sh script on single asic and multi-asic platforms. Verified Monit routecheck outputs by simulating a failure scenario on both single asic and multi-asic platforms. output from Monit Check: Single Asic: xxx/usr/local/bin# monit status routecheck Monit 5.20.0 uptime: 1d 20h 32m Program 'routeCheck' status Status failed monitoring status Monitored monitoring mode active on reboot start last exit value 255 last output Failure results: {{ "": { "missed_ROUTE_TABLE_routes": [ "20c0:d9b8:99:80::/64" ] } }} Failed. Look at reported mismatches above add: { "": [] } del: { "": [] } data collected Tue, 12 Dec 2023 20:30:11 ''' Multi Asic: ''' /bin# monit status routecheck Monit 5.20.0 uptime: 1d 23h 51m Program 'routeCheck' status Status failed monitoring status Monitored monitoring mode active on reboot start last exit value 255 last output Failure results: {{ "asic0": { "missed_ROUTE_TABLE_routes": [ "1.0.0.0/16" ] }, "asic1": { "missed_ROUTE_TABLE_routes": [ "1.0.0.0/16" ] }, "asic2": { "missed_ROUTE_TABLE_routes": [ "1.0.0.0/16" ] } }} Failed. Look at reported mismatches above add: { "asic0": [], "asic1": [], "asic2": [] } del: { "asic0": [], "asic1": [], "asic2": [] } data collected Tue, 12 Dec 2023 23:54:23
* Enhanced route_check.py for multi_asic platforms * skip eth1 routes for packet-chassis, pytest enhancements
What I did
Enhanced route_check.py script to cover multi-asic platforms.
Accordingly enhanced the test files as well.
MSFT ADO: 25416673
How I did it
Enhanced the route_check.py script to take additional optional parameter(--n/namespace). Without this parameter, the check will be run on all asics in multi-asic platforms.
Different connections to DBs are modified accordingly to connect to relevant ns dbs.
Result will be encapsulated under different namespace. For single asic, results will be displayed under Default-Namespace("").
testData and the testfiles are enhanced accordinly.
How to verify it
output from Monit Check:
Single Asic:
xxx/usr/local/bin# monit status routecheck
Monit 5.20.0 uptime: 1d 20h 32m
Program 'routeCheck'
status Status failed
monitoring status Monitored
monitoring mode active
on reboot start
last exit value 255
last output Failure results: {{
"": {
"missed_ROUTE_TABLE_routes": [
"20c0:d9b8:99:80::/64"
]
}
}}
Failed. Look at reported mismatches above
add: {
"": []
}
del: {
"": []
}
data collected Tue, 12 Dec 2023 20:30:11
'''
Multi Asic:
'''
/bin# monit status routecheck
Monit 5.20.0 uptime: 1d 23h 51m
Program 'routeCheck'
status Status failed
monitoring status Monitored
monitoring mode active
on reboot start
last exit value 255
last output Failure results: {{
"asic0": {
"missed_ROUTE_TABLE_routes": [
"1.0.0.0/16"
]
},
"asic1": {
"missed_ROUTE_TABLE_routes": [
"1.0.0.0/16"
]
},
"asic2": {
"missed_ROUTE_TABLE_routes": [
"1.0.0.0/16"
]
}
}}
Failed. Look at reported mismatches above
add: {
"asic0": [],
"asic1": [],
"asic2": []
}
del: {
"asic0": [],
"asic1": [],
"asic2": []
}
data collected Tue, 12 Dec 2023 23:54:23
'''
Previous command output (if the output of a command-line utility has changed)
New command output (if the output of a command-line utility has changed)