Skip to content

Commit

Permalink
Added new API to return runtime metdata as needed during
Browse files Browse the repository at this point in the history
Feature Table field rendering by hostcfgd.

Signed-off-by: Abhishek Dosi <abdosi@microsoft.com>
  • Loading branch information
abdosi committed Aug 19, 2022
1 parent dad01cb commit ca4e2ae
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 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 @@ -432,7 +432,7 @@ def is_multi_npu():

def is_voq_chassis():
switch_type = get_platform_info().get('switch_type')
return True if switch_type and switch_type == 'voq' else False
return True if switch_type and (switch_type == 'voq' or switch_type == 'fabric') else False


def is_packet_chassis():
Expand All @@ -441,7 +441,7 @@ def is_packet_chassis():


def is_chassis():
return is_voq_chassis() or is_packet_chassis()
return is_voq_chassis() or is_packet_chassis() or is_supervisor()


def is_supervisor():
Expand All @@ -459,6 +459,14 @@ def is_supervisor():
return True
return False

def get_device_runtime_metadata():
chassis_metada = {}
if is_chassis():
chassis_metadata = {'CHASSIS_METADATA': {'module_type' : 'supervisor' if is_supervisor() else 'linecard',
'chassis_type': 'voq' if is_voq_chassis() else 'packet'}}

port_metadata = {'ETHERNET_PORTS_PRESENT': True if get_path_to_port_config_file(hwsku=None, asic="0" if is_multi_npu() else None) else False}
return {'DEVICE_RUNTIME_METADATA': chassis_metadata | port_metadata }

def get_npu_id_from_name(npu_name):
if npu_name.startswith(NPU_NAME_PREFIX):
Expand Down

0 comments on commit ca4e2ae

Please sign in to comment.