Gather EndpointSlices rather than Endpoints#74084
Gather EndpointSlices rather than Endpoints#74084openshift-merge-bot[bot] merged 1 commit intoopenshift:masterfrom
Conversation
|
[REHEARSALNOTIFIER]
A total of 36043 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs. A full list of affected jobs can be found here Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/pj-rehearse periodic-ci-openshift-release-master-ci-4.22-e2e-gcp-ovn |
|
@danwinship: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/test pull-ci-openshift-cloud-provider-gcp-main-e2e-gcp-ovn |
|
/pj-rehearse pull-ci-openshift-cloud-provider-gcp-main-e2e-gcp-ovn |
|
@danwinship: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
whatever, e2e-gcp is busted right now, but the gather-extra step worked as expected and gathered EndpointSlices rather than Endpoints. |
|
/assign @rikatz |
|
even deprecated, would it make sense to keep gathering both? I am not sure if we (or support team) have some tooling that may rely on it |
|
If anyone is depending on Endpoints, they need to update their tooling to use EndpointSlices instead. Endpoints are inherently incomplete (no topology, no terminating endpoints, no dual-stack). Also, must-gather is for debugging purposes, and for debugging purposes it does not make sense to look at Endpoints, since nothing running in the cluster actually uses Endpoints any more. |
|
yes, I mean someone using that for debug tools, etc. I don't really oppose myself to it, I am just not sure someone will miss it. Checking with Miciah here just because he may have some more history on "if we have anyone using endpoints from must-gather to debug" but lgtm |
|
The router and CoreDNS migrated to EndpointSlice in OpenShift 4.6 and 4.8, respectively (see openshift/router#154 and openshift/coredns#52; internally, the router converts endpointslices into endpoints objects, which can be confusing, but it is consuming endpointslices). @alebedev87, are aws-load-balancer-controller and external-dns using the Endpoints API? It looks like the operands support endpointslices, but external-dns-operator configures RBAC only for endpoints, not endpointslices: https://github.com/openshift/external-dns-operator/blob/4abf935dbaf067db15b8418ca9b0ac7541cb256d/bundle/manifests/external-dns_rbac.authorization.k8s.io_v1_clusterrole.yaml#L18 |
|
Related question: Is aiding in the diagnosis of issues with add-on operators that are using deprecated APIs part of must-gather's purview? |
Only upstream, downstream we are on very old versions which didn't migrate the code to EndpointSlices yet. Downstream ExternalDNS is based on 0.14.7 and the endpointslices migration was done in 0.18.0. Downstream ALBC is based on 2.8.z version while the EndpointSlices support was added in 2.14.0. |
(That will need to be fixed as part of OCSTRAT-886 (AWS dual-stack support).) But anyway, that doesn't really answer the question of "do we need to include Endpoints in the CI artifacts?" The Endpoints data should be a strict subset of the EndpointSlice data, so even if your operator uses Endpoints, you can debug based on the EndpointSlice data instead. (If there ever were mismatches, then presumably that would have caused us debugging problems in the past in the opposite direction. I can't remember that ever happening (and presumably if it ever had, someone would have fixed the lack of EndpointSlices in the artifacts before now...)) I mean, we could keep both, but it seems like a waste of space. |
Right, sorry, I was answering Miciah's question. I don't remember going very often to the endpoints level to debug ExternalDNS/ALBO issues but since EndpointSlices will have all available endpoints data anyway I don't see any blocking point. The migration to EndpointSlices for these 2 operators will have to addressed separately. |
6211161 to
dad96a7
Compare
|
/retitle Gather EndpointSlices in addition to Endpoints |
|
/retest |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: danwinship, rikatz The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/pj-rehearse pull-ci-openshift-cluster-network-operator-master-e2e-gcp-ovn |
|
@danwinship: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse ack |
|
@danwinship: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@danwinship: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
2993e0e
into
openshift:master
The Endpoints API is deprecated (https://kubernetes.io/blog/2025/04/24/endpoints-deprecation/). We should be gathering EndpointSlices, not Endpoints. (The EndpointSlices have all of the information that the Endpoints do, plus information about terminating endpoints, topology, and dual-stack endpoints.)