sonic-buildimage/platform/mellanox/mlnx-platform-api/sonic_platform
Stephen Sun 48908b1c5a Fix issue: exception occurred during chassis object being destroyed (#7446)
The following error message is observed during chassis object being destroyed

"Exception ignored in: <function Chassis.__del__ at 0x7fd22165cd08>
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/sonic_platform/chassis.py", line 83, in __del__
ImportError: sys.meta_path is None, Python is likely shutting down
The chassis tries to import deinitialize_sdk_handle during being destroyed for the purpose of releasing the sdk_handle.
However, importing another module during shutting down can cause the error because some of the fundamental infrastructures are no longer available."

This error occurs when a chassis object is created and then destroyed in the Python shell.

- How I did it
To fix it, record the deinitialize_sdk_handle in the chassis object when sdk_handle is being initialized and call the deinitialize handler when the chassis object is being destroyed

- How to verify it
Manually test.
2021-04-29 10:10:25 -07:00
..
__init__.py Add thermal control support for SONiC (#3949) 2020-03-09 10:41:10 -07:00
chassis.py Fix issue: exception occurred during chassis object being destroyed (#7446) 2021-04-29 10:10:25 -07:00
component.py [Mellanox] Ensure concrete platform API classes call base class initializer (#6854) 2021-03-04 21:23:05 +00:00
device_data.py [Mellanox] Add support for SN4600 system (#6879) 2021-03-04 21:23:05 +00:00
eeprom.py [mellanox][platform api] fix a missing import time module (#6458) 2021-01-15 08:20:57 -08:00
fan_drawer.py [Mellanox] Implement new platform API for SONiC physical entity mib extension (#5645) 2020-11-16 18:56:03 -08:00
fan.py [Mellanox] Add python3 support for Mellanox platform API (#6175) 2020-12-11 10:51:31 -08: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-26 17:40:42 +00:00
platform.py [Mellanox] Initialize PSU API on both host and docker side (#7075) 2021-04-07 20:36:02 +03:00
psu.py [Mellanox] Add support for SN4600 system (#6879) 2021-03-04 21:23:05 +00:00
sfp_event.py [Mellanox] [platform API] Fix “local variable 'label_port' referenced before assignment” error (#6419) 2021-01-15 08:16:06 -08:00
sfp.py [sonic-platform-common] Update submodule (#6742) 2021-02-16 15:29:28 -08: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-16 15:28:43 -08:00
thermal_infos.py [Mellanox] thermal control enhancement for dynamic minimum fan speed and PSU fan speed policy (#4403) 2020-04-21 08:09:53 -07:00
thermal_manager.py [Mellanox] thermal control enhancement for dynamic minimum fan speed and PSU fan speed policy (#4403) 2020-04-21 08:09:53 -07:00
thermal.py [Mellanox] Add support for SN4600 system (#6879) 2021-03-04 21:23:05 +00:00
utils.py [Mellanox] Support max/min speed for PSU fan (#5682) 2020-10-26 12:47:12 -07:00
watchdog.py [Mellanox] Ensure concrete platform API classes call base class initializer (#6854) 2021-03-04 21:23:05 +00:00