-
Notifications
You must be signed in to change notification settings - Fork 210
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
connectivity: add endpointslice clustermesh sync test #2267
Conversation
7d82a98
to
3ed32d4
Compare
I am converting this to draft as I guess we would need to merge cilium/cilium#28440 first? Unsure of the exact timing here 😅 and not sure if I added the correct pre-requirements to launch this test, checking 1.16.0 + that we have clustermesh seems logical to me but maybe there would be more check before launching this? I tested that locally and it seems to work fine but not sure how to trigger this in the CI as well as this test an ongoing PR...
|
3ed32d4
to
5055852
Compare
5055852
to
49841b5
Compare
49841b5
to
174b554
Compare
174b554
to
9e8d3aa
Compare
9e8d3aa
to
f825bf6
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.
Thanks! I've left a couple of comments and suggestions inline, but the overall approach looks sensible to me. CI failures appear legitimate (at least a few), as the newly introduce headless service should be skipped in a few more places.
if service.Service.Spec.ClusterIP == corev1.ClusterIPNone { | ||
// If the cluster is headless there is nothing to wait for here | ||
return nil | ||
} |
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.
It could make sense to have a wait mechanism for headless services as well (e.g., checking the epslices correctness), but it doesn't seem a likely source of flakiness (given that synchronization requires way less than all the other steps). I'm personally fine with leaving that out for the moment, and adding it later on if we discover we really need it.
f825bf6
to
3e54bc3
Compare
3e54bc3
to
b06b740
Compare
Ah yes now I need to ignore this from some tests and not only from the "deployment" phase, will look into it |
b06b740
to
6e2ae67
Compare
6e2ae67
to
a9262bb
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.
CODEOWNERS 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.
A couple of final comments inline, then I'll open the PR to test it on cilium/cilium.
a9262bb
to
51c4c83
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.
Thanks!
Additionally tested in cilium/cilium#31551 as well.
51c4c83
to
3b63b9c
Compare
3b63b9c
to
d8b03d9
Compare
d8b03d9
to
b44522d
Compare
This adds endpointslice synchronization testing inside a clustermesh. It does that by checking that we can get a DNS answer with a global headless service with endpointslice synchronization enabled across two clusters. Testing it via DNS ensures that the created EndpointSlice are correctly linked to the headless service. Signed-off-by: Arthur Outhenin-Chalandre <[email protected]>
b44522d
to
627ff82
Compare
This should be ready 🎉 (I didn't change any code since the reviews, just rebasing for most of the gh actions to pass), the Multicluster action failing seems to be an unrelated flake that could be retried I believe |
Yep, I've triggered a retry |
This adds endpointslice synchronization testing inside a clustermesh. It does that by checking that we can get a DNS answer with a global headless service with endpointslice synchronization enabled across two clusters.
Testing it via DNS ensures that the created EndpointSlice are correctly linked to the headless service.
Related to cilium/cilium#28440 e2e testing