VOQ: add dependent peer's stronger dependency with swss to avoid double stop/start and traffic loss #17041
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.
Why I did it
Issue details and RCA here. #16991
it fixes #16991
Work item tracking
How I did it
In SWSS script, I have added stronger dependency with dependent peer services using "Requires=" command in unit files of dependent peer services. This will ensure that, syncd/gbsyncd dont start immediately and instead wait till swss service starts its init phase.
I have made this change for VOQ chassis for now, however this is also applicable to pizza boxes running SONiC(there is no functionality impact seen on pizza box however).
How to verify it
followed same steps as mentioned in #16991 and confirmed that
a. No traffic loss end to end
b. Dont see double stop/start of syncd service
Also Ran few more tests.
Confirmed from logs, that in none of the scenario, syncd gets killed twice.
Which release branch to backport (provide reason below if selected)
Tested branch (Please provide the tested image version)
SONiC.20220532.45
Description for the changelog
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)