Skip to content

Commit

Permalink
[chassisd]: Updated the API get_platform_info() to return running/det…
Browse files Browse the repository at this point in the history
…ected ASIC's count (#16539)

previously, get_num_asics() returns the maximum number of asics. however, the asic_count 
should be actual number of asics populated which can be get from get_asic_presence_list().

ADO: 25158825

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
  • Loading branch information
abdosi authored and mssonicbld committed Oct 20, 2023
1 parent 3090d26 commit 9a63b9d
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/sonic-py-common/sonic_py_common/device_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -366,15 +366,18 @@ def get_platform_info(config_db=None):
if hw_info_dict:
return hw_info_dict

from .multi_asic import get_num_asics
from .multi_asic import get_asic_presence_list

version_info = get_sonic_version_info()

hw_info_dict['platform'] = get_platform()
hw_info_dict['hwsku'] = get_hwsku()
if version_info:
hw_info_dict['asic_type'] = version_info.get('asic_type')
hw_info_dict['asic_count'] = get_num_asics()
try:
hw_info_dict['asic_count'] = len(get_asic_presence_list())
except:
hw_info_dict['asic_count'] = 'N/A'

try:
# TODO: enforce caller to provide config_db explicitly and remove its default value
Expand Down
3 changes: 3 additions & 0 deletions src/sonic-py-common/sonic_py_common/multi_asic.py
Original file line number Diff line number Diff line change
Expand Up @@ -484,4 +484,7 @@ def get_asic_presence_list():
for asic in asics_presence_list:
# asic is asid id: asic0, asic1.... asicN. Get the numeric value.
asics_list.append(int(get_asic_id_from_name(asic)))
else:
# This is not multi-asic, all asics should be present.
asics_list = list(range(0, get_num_asics()))
return asics_list

0 comments on commit 9a63b9d

Please sign in to comment.