Skip to content

Commit

Permalink
[supervisor][sfm]Fix the issue of swss.sh shows backtrace when shutdo…
Browse files Browse the repository at this point in the history
…wn a SFM. (#18393)

On a Supervisor card of a VOQ chassis, when remove or shutdown a Fabric card, swss.sh shows Stacktrace for all related empty SFM slots in the syslog file. This PR fixes #18384

How I did it
In the asic_status.py, all empty SFM slots related swss.sh is in the waiting state to wait for the presence event of SFM -- SET operation. The subscriber event handler also includes the "DEL" operation when a SFM is shutdown/removal. When a SFM is shutdown, all empty slot's swss.sh also get the "DEL" event although it is not for them. In the "DEL" operation, the current implementation doesn't check if this "DEL" operation for them, and then they exit the wait state and proceed to docker-wait-any with wrong operation in the wrong slot. docker-wait0any raise the backtarce.

How to verify it
In a chassis which has some empty SMF slot, remove or shutdown a SFM. There should not be related stacktrace shown in syslog

Signed-off-by: mlok <marty.lok@nokia.com>
  • Loading branch information
mlok-nokia authored and gechiang committed Apr 20, 2024
1 parent a820fe0 commit eb0af1c
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions files/scripts/asic_status.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,9 @@ def main():
logger.log_info('Detected asic{} is online'.format(global_asic_id))
sys.exit(0)
elif asic_op == 'DEL':
logger.log_info('Detected asic{} is offline'.format(global_asic_id))
sys.exit(1)
if (global_asic_id == args_asic_id):
logger.log_info('Detected asic{} is offline'.format(global_asic_id))
sys.exit(1)
else:
continue

Expand Down

0 comments on commit eb0af1c

Please sign in to comment.