-
Story
-
Resolution: Unresolved
-
Normal
-
None
-
None
This story is created to track the inclusion of the kubernetes [change |https://github.com/kubernetes/kubernetes/pull/120775,] which is supposed to fix the OCPBUG-1650.
Description of problem:
If a service is created with a selector, its endpoints are mirrored to an endpointslice that is owned by the service. If the selector is removed from the service after creation and the endpoints are kept, a new endpointslice owned by the endpoints object is created and endpoints start being mirrored into it. However, old endpointslice object is kept and it is no longer updated, which is wrong. If the endpoints change after this, the older endpointslice will be there forever and will indicate a wrong endpoint forever, so implementations like kube-proxy will also direct traffic to it as if it was a valid endpoint.
Version-Release number of selected component (if applicable):
4.8.46
How reproducible:
Always
Steps to Reproduce:
1. Create a service with selector that chooses a pod with one replica. 2. Remove the selector, keeping the endpoints object. 3. Delete the pod and/or somehow change the endpoints.
Actual results:
2 endpointslices: - One owned by the service, pointing to the now old and wrong IP - One owned by the endpoint, pointing to the current and correct IP
Expected results:
- One owned by the endpoint, pointing to the current and correct IP
Additional info:
- clones
-
OCPBUGS-1650 Mirrored endpointslice leftover when removing the selector from a service
- Closed