This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
sonic-buildimage/platform/mellanox/mlnx-platform-api/sonic_platform
Alexander Allen 29601366ee
[Mellanox] Implement auto_firmware_update platform API for to support fwutil auto-update (#7721)
Why I did it
The Mellanox platform is required to support the fwutil auto-update feature defined here

This is to allow switches, when performing SONiC upgrades to choose whether to perform firmware upgrades that may interrupt the data plane through a cold boot.

How I did it
Two methods were added to the component implementations for mellanox.

In the base Component class we add a default function that chooses to skip the installation of any firmware unless the cold boot option is provided. This is because the Mellanox platform, by default, does not support installing firmware on ONIE, the CPLD, or the BIOS "on-the-fly".

In the ComponentSSD class we add a function that behaves similarly but uses the Mellanox specific SSD firmware upgrade tool to check if the current SSD supports being upgraded on the fly in order to decide whether to skip or perform the installation.

How to verify it
Unit tests are included with this PR. These test will run on build of target sonic-mellanox.bin

You may also perform fwutil auto-update ... commands after Azure/sonic-utilities#1242 is merged in.
2021-06-16 14:55:20 -07:00
..
__init__.py Add thermal control support for SONiC (#3949) 2020-03-09 10:41:10 -07:00
chassis.py [Mellanox] Enhance Python3 support for platform API (#7410) 2021-06-15 17:57:48 +03:00
component.py [Mellanox] Implement auto_firmware_update platform API for to support fwutil auto-update (#7721) 2021-06-16 14:55:20 -07:00
device_data.py [Mellanox] Adopt single way to get fan direction for all ASIC types (#7386) 2021-05-03 17:10:18 -07:00
eeprom.py [mellanox][platform api] fix a missing import time module (#6458) 2021-01-15 08:01:11 -08:00
fan_drawer.py [Mellanox] Enhance Python3 support for platform API (#7410) 2021-06-15 17:57:48 +03:00
fan.py [Mellanox] Enhance Python3 support for platform API (#7410) 2021-06-15 17:57:48 +03:00
led.py Fix issue: should not initialize led color in __init__ file as platform API will be called by multiple daemons (#7114) 2021-03-25 14:28:33 +02:00
platform.py [Mellanox] Enhance Python3 support for platform API (#7410) 2021-06-15 17:57:48 +03:00
psu.py [Mellanox] Enhance Python3 support for platform API (#7410) 2021-06-15 17:57:48 +03:00
sfp_event.py [Mellanox] Enhance Python3 support for platform API (#7410) 2021-06-15 17:57:48 +03:00
sfp.py [Mellanox] Enhance Python3 support for platform API (#7410) 2021-06-15 17:57:48 +03:00
thermal_actions.py [Mellanox] Never disable kernel thermal algorithm at real-time (#4638) 2020-05-26 10:46:29 -07:00
thermal_conditions.py Fix dynamic minimum fan table issue caused by python3 (#6690) 2021-02-07 11:21:44 +02:00
thermal_infos.py [Mellanox] clear fan from chassis._fan_list (#7682) 2021-05-24 11:36:39 -07:00
thermal_manager.py [mellaonox]: No need enable thermal zones in thermal_manager.deinitialize since they are enabled by default (#7556) 2021-05-08 10:33:37 -07:00
thermal.py [Mellanox] Enhance Python3 support for platform API (#7410) 2021-06-15 17:57:48 +03:00
utils.py [Mellanox] Fixes issue: CLI sfputil does not work based on sonic platform API (#7018) 2021-03-11 18:54:33 -08:00
watchdog.py [Mellanox] Enhance Python3 support for platform API (#7410) 2021-06-15 17:57:48 +03:00