-
Notifications
You must be signed in to change notification settings - Fork 3.2k
bgpv1 + bgpv2: Fix DiffStore to work with multiple server instances #34177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
b918268
to
25f9fea
Compare
/test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, lgtm 🚀
25f9fea
to
44cebde
Compare
@YutaroHayakawa , @harsimran-pabla changes since the previous version:
However, we need to think about how we can call |
How about introducing |
Yes I think introducing However, as we do not have an easy way to call |
f0f3226
to
fa5bc88
Compare
@YutaroHayakawa , @harsimran-pabla I have added |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, lgtm!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work! A few non-blocking comments.
As the same DiffStore instance is used to diff services when reconciling for multiple server instances (virtual routers), we need to differentiate the diff per instance (and to be future-proof per reconciler as well) for diff to work properly. This introduces a new callerID argument to the Diff method of the DiffStore to provide caller-specific diff as well as InitDiff(callerID) and CleanupDiff(callerID) methods to initiate and cleanup caller-specific diffs. To wire this properly in the service reconcilers, new reconciler methods Init(instance) and Cleanup(instance) have been added to the reconciler API. Signed-off-by: Rastislav Szabo <rastislav.szabo@isovalent.com>
fa5bc88
to
26ce191
Compare
/test |
As the same DiffStore instance is used to diff services when reconciling for multiple server instances (virtual routers), we need to differentiate the diff per instance (and to be future-proof per reconciler as well) for diff to work properly.
Fixes: #33076