operator: does not clean up stale RetinaEndpoints across restarts
- Dominant language
- Go
- Stars
- 3.2k
- Forks
- 304
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 78
Description
**Describe the bug**
`RetinaEndpoint` objects can leak across missed events in the operator, called out in https://github.com/microsoft/retina/blob/0a8044757e75e4104a0ca4c6ea25821854505320/pkg/controllers/operator/retinaendpoint/retinaendpoint_controller.go#L47.
**To Reproduce**
Stop operator pod, delete some pods, restart operator pod. Notice that the `RetinaEndpoints` for the deleted pods are not cleaned up.
**Expected behavior**
Any `RetinaEndpoint` objects no longer exist for deleted pods.
**Additional context**
Fixed by https://github.com/microsoft/retina/pull/2707.
Contributor guide
Research direction
Start with pkg/controllers/operator/retinaendpoint/retinaendpoint_controller.go at the referenced line and review the restart scenario: stop the operator, delete pods, and restart it. Compare the behavior with linked pull request #2707. Done means RetinaEndpoint objects for deleted pods are removed after missed events and an operator restart.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- networking, observability-sre
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100