Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chassis asic table is getting overwritten in the supervisor #12575

Closed
arlakshm opened this issue Nov 1, 2022 · 0 comments · Fixed by sonic-net/sonic-platform-daemons#311 or #12576
Closed
Assignees
Labels
Chassis 🤖 Modular chassis support Issue for 202205 MSFT Triaged this issue has been triaged

Comments

@arlakshm
Copy link
Contributor

arlakshm commented Nov 1, 2022

Description

Steps to reproduce the issue:

1.In the PMON design for SONiC Chassis, the chassisd process update the chassis state db with the asic information. On the supervisor chassisd will be update asic information of the fabric ASIC. The chassisd on the linecard will update the information of the linecard asics.
2. In chassisd the key CHASSIS_ASIC_TABLE|asic<id> is used to update in chassis state db.
3. This causes asic info for asic0 and asic1 from the linecards are overwriting the asic info populated by supervisor for the fabric asics.

Describe the results you received:

Describe the results you expected:

Output of show version:

master and 202205

(paste your output here)

Output of show techsupport:

(paste your output here or download and attach the file here )

Additional information you deem important (e.g. issue happens only occasionally):

@arlakshm arlakshm self-assigned this Nov 1, 2022
@arlakshm arlakshm added Chassis 🤖 Modular chassis support Issue for 202205 labels Nov 1, 2022
@prgeor prgeor added MSFT Triaged this issue has been triaged labels Nov 9, 2022
arlakshm added a commit to sonic-net/sonic-platform-daemons that referenced this issue Nov 15, 2022
…table (#311)

Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>

Description
The following changes are done in chassisd

Change the ModuleUpdater init changed to include slot and supervisor as argument.
Add logic to in ModuleUpdater to update the asic_info in CHASSIS_FABRIC_ASIC_INFO for the supervisor and CHASSIS_ASIC_TABLE for the linecard asics respectively.
Add the linecard name is the key of the CHASSIS_ASIC_TABLE
update the UT
Motivation and Context
Fixes sonic-net/sonic-buildimage#12575 and sonic-net/sonic-buildimage#12575

How Has This Been Tested?
Update the pmon on the supervisor and linecard and verify the CHASSIS_STATE_DB is update properly

admin@str2-sonic-sup-1:~$ redis-cli -h redis_chassis.server -p 6380 -n 13 keys *ASIC*
 1) "CHASSIS_ASIC_TABLE|LINE-CARD4|asic0"
 2) "CHASSIS_FABRIC_ASIC_TABLE|asic1"
 3) "CHASSIS_FABRIC_ASIC_TABLE|asic8"
 4) "CHASSIS_FABRIC_ASIC_TABLE|asic10"
 5) "CHASSIS_ASIC_TABLE|LINE-CARD0|asic0"
 6) "CHASSIS_FABRIC_ASIC_TABLE|asic6"
 7) "CHASSIS_FABRIC_ASIC_TABLE|asic9"
 8) "CHASSIS_FABRIC_ASIC_TABLE|asic5"
 9) "CHASSIS_FABRIC_ASIC_TABLE|asic3"
10) "CHASSIS_ASIC_TABLE|LINE-CARD3|asic0"
11) "CHASSIS_FABRIC_ASIC_TABLE|asic2"
12) "CHASSIS_ASIC_TABLE|LINE-CARD2|asic0"
13) "CHASSIS_ASIC_TABLE|LINE-CARD2|asic1"
14) "CHASSIS_FABRIC_ASIC_TABLE|asic11"
15) "CHASSIS_FABRIC_ASIC_TABLE|asic0"
16) "CHASSIS_FABRIC_ASIC_TABLE|asic4"
17) "CHASSIS_FABRIC_ASIC_TABLE|asic7"
admin@str2-sonic-sup-1:~$
yxieca pushed a commit to sonic-net/sonic-platform-daemons that referenced this issue Nov 29, 2022
…table (#311)

Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>

Description
The following changes are done in chassisd

Change the ModuleUpdater init changed to include slot and supervisor as argument.
Add logic to in ModuleUpdater to update the asic_info in CHASSIS_FABRIC_ASIC_INFO for the supervisor and CHASSIS_ASIC_TABLE for the linecard asics respectively.
Add the linecard name is the key of the CHASSIS_ASIC_TABLE
update the UT
Motivation and Context
Fixes sonic-net/sonic-buildimage#12575 and sonic-net/sonic-buildimage#12575

How Has This Been Tested?
Update the pmon on the supervisor and linecard and verify the CHASSIS_STATE_DB is update properly

admin@str2-sonic-sup-1:~$ redis-cli -h redis_chassis.server -p 6380 -n 13 keys *ASIC*
 1) "CHASSIS_ASIC_TABLE|LINE-CARD4|asic0"
 2) "CHASSIS_FABRIC_ASIC_TABLE|asic1"
 3) "CHASSIS_FABRIC_ASIC_TABLE|asic8"
 4) "CHASSIS_FABRIC_ASIC_TABLE|asic10"
 5) "CHASSIS_ASIC_TABLE|LINE-CARD0|asic0"
 6) "CHASSIS_FABRIC_ASIC_TABLE|asic6"
 7) "CHASSIS_FABRIC_ASIC_TABLE|asic9"
 8) "CHASSIS_FABRIC_ASIC_TABLE|asic5"
 9) "CHASSIS_FABRIC_ASIC_TABLE|asic3"
10) "CHASSIS_ASIC_TABLE|LINE-CARD3|asic0"
11) "CHASSIS_FABRIC_ASIC_TABLE|asic2"
12) "CHASSIS_ASIC_TABLE|LINE-CARD2|asic0"
13) "CHASSIS_ASIC_TABLE|LINE-CARD2|asic1"
14) "CHASSIS_FABRIC_ASIC_TABLE|asic11"
15) "CHASSIS_FABRIC_ASIC_TABLE|asic0"
16) "CHASSIS_FABRIC_ASIC_TABLE|asic4"
17) "CHASSIS_FABRIC_ASIC_TABLE|asic7"
admin@str2-sonic-sup-1:~$
arlakshm added a commit that referenced this issue Dec 8, 2022
…INFO_TABLE (#12576)

Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan arlakshm@microsoft.com

Why I did it
Fixes #12575 and #12575

How I did it
In the PR sonic-net/sonic-platform-daemons#311 chassisd updates to CHASSIS_FABRIC_ASIC_INFO with the fabric asic info.
Updating the asic_status.py to read from the correct table.

How to verify it
test on chassis

Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment