[sonic_platform_base] support new-platform-api-based daemons#48
[sonic_platform_base] support new-platform-api-based daemons#48jleveque merged 7 commits intosonic-net:masterfrom
Conversation
1. add "_eeprom" field into class ChassisBase so that syseepromd can access eeprom related stuff.
originally we intend to remain some APIs defined in sfputilbase to implement functions like transition between logical and physical ports. However, we ignored the fact that sfputilbase is an abstract class and can't be instantiated, which is also part of refractoring pmon. to solve the issue, we have to introduce a new helper module which only remains the required APIs: read_porttab_mappings, which reads port_config.ini and generats mappings get_physical_to_logical get_logical_to_physical is_logical_port
|
Please fix new conflicts. |
Sorry for the conflict. I'll do it. |
|
@stephenxs: When fixing the conflicts, please feel free to do what you think is best, and we'll discuss any differences of opinion in review. Also, unrelated: can you please check my new question on a PR which I already merged?: https://github.com/Azure/sonic-buildimage/pull/3198/files#r309356059 |
Done. Please review. If this style is acceptable, I would also like to update comments of get_transceiver_info. |
|
Sure.
BTW, if you don’t have other suggestion, I would like to update the comments in front of get_transceiver_bulk_status as well.
@@ -83,45 +83,45 @@ def get_transceiver_threshold_info(self):
========================================================================
keys |Value Format |Information
…---------------------------|---------------|----------------------------
- Temperature High Alarm |FLOAT |High Alarm Threshold value,
+ temphighalarm |FLOAT |High Alarm Threshold value,
| |of temperature in Celsius.
I think it would be fine to keep the Information field on one line instead of splitting into two. The lines might be a bit long, but it should be around 100 chars, so I think it would be fine, and it would make the list shorter.
|
1. adjust the comments in front of get_transceiver_threshold_info 2. adjust the definitions of keys of dictions returned by get_transceiver_bulk_status so that they can be better aligned with old-style plugins.
lost-of-signal => loss-of-signal
[sonic-platform-common] [sonic_sfp] Interpret sff 'int' element =0 as valid value (sonic-net/sonic-platform-common#51) add more error code to get_transceiver_change_event ((sonic-net/sonic-platform-common#50) [sonic_platform_base] support new-platform-api-based daemons ((sonic-net/sonic-platform-common#48) sync change to sonic_platform_base/sonic_sfp and create symbol link ((sonic-net/sonic-platform-common#49) Add parser support for Tx_RxLos,TxFault, PowerControl, ResetStatus in sff8436.py ((sonic-net/sonic-platform-common#45) readd type_abbrv_name in sonic_sfp/sff8436.py ((sonic-net/sonic-platform-common#44) [psu_base] get_status_led() returns current state of the status LED ((sonic-net/sonic-platform-common#39) Fix abbrv name for OSFP ((sonic-net/sonic-platform-common#36) [sff8436] support "Control Bytes" and "Options" ((sonic-net/sonic-platform-common#38) sonic_sfp: avoid possible key error in get_physical_to_logical() ((sonic-net/sonic-platform-common#37) [sonic-platform-daemons] [xcvrd] Enhance xcvrd to handle new system level event/error (sonic-net/sonic-platform-daemons#39) [xcvrd] Support both new platform API and old platform plugins (sonic-net/sonic-platform-daemons#38) [psud] Support both new platform API and old platform plugins (sonic-net/sonic-platform-daemons#37) [syseepromd] Support both new platform API and old platform plugins (sonic-net/sonic-platform-daemons#36) Add missing import statemet (sonic-net/sonic-platform-daemons#32) sonic_xcvrd: Support for DOM Threshold values for EEPROM dump (sonic-net/sonic-platform-daemons#29)
…ic-net#3333) [sonic-platform-common] [sonic_sfp] Interpret sff 'int' element =0 as valid value (sonic-net/sonic-platform-common#51) add more error code to get_transceiver_change_event ((sonic-net/sonic-platform-common#50) [sonic_platform_base] support new-platform-api-based daemons ((sonic-net/sonic-platform-common#48) sync change to sonic_platform_base/sonic_sfp and create symbol link ((sonic-net/sonic-platform-common#49) Add parser support for Tx_RxLos,TxFault, PowerControl, ResetStatus in sff8436.py ((sonic-net/sonic-platform-common#45) readd type_abbrv_name in sonic_sfp/sff8436.py ((sonic-net/sonic-platform-common#44) [psu_base] get_status_led() returns current state of the status LED ((sonic-net/sonic-platform-common#39) Fix abbrv name for OSFP ((sonic-net/sonic-platform-common#36) [sff8436] support "Control Bytes" and "Options" ((sonic-net/sonic-platform-common#38) sonic_sfp: avoid possible key error in get_physical_to_logical() ((sonic-net/sonic-platform-common#37) [sonic-platform-daemons] [xcvrd] Enhance xcvrd to handle new system level event/error (sonic-net/sonic-platform-daemons#39) [xcvrd] Support both new platform API and old platform plugins (sonic-net/sonic-platform-daemons#38) [psud] Support both new platform API and old platform plugins (sonic-net/sonic-platform-daemons#37) [syseepromd] Support both new platform API and old platform plugins (sonic-net/sonic-platform-daemons#36) Add missing import statemet (sonic-net/sonic-platform-daemons#32) sonic_xcvrd: Support for DOM Threshold values for EEPROM dump (sonic-net/sonic-platform-daemons#29)
… 202412 (sonic-net#48) ```<br>* 63a147f - (HEAD -> 202412) Merge branch '202411' of https://github.com/sonic-net/sonic-platform-common into 202412 (2025-03-04) [Sonic Automation] * f679a67 - (origin/202411) Restore optoe page to default 0 for active cables (sonic-net#550) (2025-03-04) [mssonicbld] * c735073 - [202411][cmis] Fix cmis.get_error_description speed for passive module (sonic-net#538) (2025-02-12) [Aryeh Feigin] * b7e75d8 - Add 800G innolight PNs (sonic-net#540) (2025-02-07) [mssonicbld]<br>```
[sonic_platform_base/chassis]
[sonic_platform_base/sonic_sfp/sfputilhelper]
For xcvrd, originally we plan to remain the module sfputilbase to provide functions like mapping between logical and physical interfaces. However, SfpUtilBase is an abstract class and can not be instantiated. In that case, a new module sfputilhelper has to be introduced to provide the required interfaces.
[sonic_platform_base/sfp_base]
support interface get_transceiver_threshold_status