diff --git a/platform/mellanox/mlnx-platform-api/sonic_platform/led.py b/platform/mellanox/mlnx-platform-api/sonic_platform/led.py index 2f27386814c7..2f015602b904 100644 --- a/platform/mellanox/mlnx-platform-api/sonic_platform/led.py +++ b/platform/mellanox/mlnx-platform-api/sonic_platform/led.py @@ -60,6 +60,16 @@ def set_status(self, color): else: return False + utils.write_file(led_path, Led.LED_ON) + status = True + elif color == Led.STATUS_LED_COLOR_ORANGE: + if Led.STATUS_LED_COLOR_ORANGE in led_cap_list: + led_path = self.get_orange_led_path() + elif Led.STATUS_LED_COLOR_RED in led_cap_list: + led_path = self.get_red_led_path() + else: + return False + utils.write_file(led_path, Led.LED_ON) status = True elif color == Led.STATUS_LED_COLOR_OFF: diff --git a/platform/mellanox/mlnx-platform-api/tests/test_led.py b/platform/mellanox/mlnx-platform-api/tests/test_led.py index 71be3685ceaf..60cc113fbddd 100644 --- a/platform/mellanox/mlnx-platform-api/tests/test_led.py +++ b/platform/mellanox/mlnx-platform-api/tests/test_led.py @@ -62,7 +62,9 @@ def mock_write_file(file_path, content, **kwargs): assert obj.set_status_led(Led.STATUS_LED_COLOR_GREEN) is True assert obj.get_status_led() == Led.STATUS_LED_COLOR_GREEN mock_file_content[physical_led.get_green_led_path()] = Led.LED_OFF - assert obj.set_status_led(Led.STATUS_LED_COLOR_ORANGE) is False + assert obj.set_status_led(Led.STATUS_LED_COLOR_ORANGE) is True + assert obj.get_status_led() == Led.STATUS_LED_COLOR_RED + mock_file_content[physical_led.get_orange_led_path()] = Led.LED_OFF assert obj.set_status_led(Led.STATUS_LED_COLOR_RED_BLINK) assert obj.get_status_led() == Led.STATUS_LED_COLOR_RED_BLINK @@ -85,7 +87,7 @@ def _mock_led_file_content(self, led): led.get_green_led_path(): Led.LED_ON, led.get_red_led_path(): Led.LED_OFF, led.get_orange_led_path(): Led.LED_OFF, - led.get_led_cap_path(): 'none green green_blink red red_blink', + led.get_led_cap_path(): 'none green green_blink red red_blink orange', led.get_green_led_delay_off_path(): Led.LED_OFF, led.get_green_led_delay_on_path(): Led.LED_OFF, led.get_red_led_delay_off_path(): Led.LED_OFF,