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
Support externalTrafficPolicy=Local for BGP CPlane service VIP advertisement #25477
Support externalTrafficPolicy=Local for BGP CPlane service VIP advertisement #25477
Conversation
f9863b5
to
ab6d6b3
Compare
0743a66
to
e8a5a5c
Compare
e8a5a5c
to
42d3452
Compare
42d3452
to
294bbe4
Compare
f766bcd
to
d0b8ffe
Compare
/test |
Cilium Runtime: Missing the Endpoints resource on the test Hive. I'll fix it. |
d0b8ffe
to
f00eeee
Compare
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.
🚀 LGTM!
/test |
Cilium L4LB XDP: Hitting complexity issue. Rebasing for pulling the fix (#25892) in. |
The semantics of the externalTrafficPolicy=local for service advertisement. When at least one active endpoint present, we advertise the LB VIP, otherwise, stop advertisement. We can track active endpoints by tracking the Endpoints or EndpointSlice object. They contain the list of the endpoint IPs and nodes. We leverage a new Resource[*Endpoints] for subscribing the changes. For an efficient processing, we wrap it with DiffStore and do reconciliation against the service affected by the endpoint changes. On every reconciliation, we populate the structure called localServices from DiffStore store which represents the information that services have at least one available local endpoint or not. Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
TestLBServiceReconciler is getting longer and now it's hard to follow what's the diff between resources used in tests. Extract resource definition out of the test case definition and deduplicate the fields as much as possible. Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
f00eeee
to
7e6facb
Compare
/test |
Cilium Runtime: Timeout while waiting for the image. Retrying... |
All green and reviews are in. Ready to merge. |
Support
externalTrafficPolicy=local
for BGP CPlane service VIP advertisement. Please see the commit message for more details.You can test this PR in your environment with below lab. Thanks to the recently added
Chart CI Push
workflow, you don't have to build images.lab.tar.gz