[chassisd]: Updated the API get_platform_info() to return running/detected 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>
This commit is contained in:
abdosi 2023-09-29 09:15:28 -07:00 committed by mssonicbld
parent 3ac09d544a
commit 6f93832a03
2 changed files with 8 additions and 2 deletions

View File

@ -367,7 +367,7 @@ 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()
@ -375,7 +375,10 @@ def get_platform_info(config_db=None):
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

View File

@ -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