[202311] [Mellanox] run module initialization when any SFP related API is called (#18930) #18937
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport PR #18930
Why I did it
Currently, there are a few issues related to module host management:
chassis.get_change_event
is called for the first time. It is too late which delays fast-reboot/warm-reboot convergence timeWork item tracking
How I did it
To address above issues, the PR introduces following changes:
chassis.get_sfp
,chassis.get_all_sfps
,chassis.get_change_event
. The init flow shall only execute once under xcvrd context.chassis.get_change_event
(plug-in/plug-out/error)How to verify it
Which release branch to backport (provide reason below if selected)
Tested branch (Please provide the tested image version)
Description for the changelog
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)