Skip to content
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

Create a new ClusterIP service in the CP per CassDc #1382

Closed
adejanovski opened this issue Aug 12, 2024 · 1 comment · Fixed by #1390
Closed

Create a new ClusterIP service in the CP per CassDc #1382

adejanovski opened this issue Aug 12, 2024 · 1 comment · Fixed by #1390
Assignees
Labels
review Issues in the state 'review'

Comments

@adejanovski
Copy link
Contributor

adejanovski commented Aug 12, 2024

In order to allow Reaper to discover the IPs of all pods in all the managed clusters, which could be hosted in remote dataplanes, we'd need one additional service to be created in the CP for each CassDc.
This service would be equivalent to the additional-seed-service, where k8ssandra-operator explicitly sets the endpoints to the IP addresses of the seed nodes, but we would get the IPs of all pods in the DC instead of the pods for other DCs.
k8ssandra-operator would be responsible for reconciling those endpoints in case of IP changes, and Reaper would use the service URL as contact point for the cluster.
A new watcher must be added on the Endpoints object named <cluster>-<dc>-all-pods-services across all dataplanes (and the control plane), then in the reconcileDatacenters() method, a call must be made to a newly created method which will reconcile our new service along with the corresponding endpoints.
A new label must be added on the all pods service to be able to filter services in the watcher efficiently.

### Definition of Done
- [ ] One headless ClusterIP service gets created in the control plane for each DC
- [ ] this service endpoints contains the IPs of all nodes across the DC
- [ ] k8ssandra-operator explicitly sets the endpoints for these services like it does for additional-seed services
- [ ] The list of endpoints is copied directly from the watched service
- [ ] The **-**-all-pods-service services in cass-operator get an additional label such as `cassandra.datastax.com/all-pods: true`

┆Issue is synchronized with this Jira Story by Unito
┆Issue Number: K8OP-6

@adejanovski adejanovski added the ready Issues in the state 'ready' label Aug 13, 2024
@adejanovski adejanovski added in-progress Issues in the state 'in-progress' and removed ready Issues in the state 'ready' labels Aug 15, 2024
olim7t added a commit to olim7t/k8ssandra-operator that referenced this issue Aug 22, 2024
@adejanovski adejanovski added blocked Issues in the state 'blocked' and removed in-progress Issues in the state 'in-progress' labels Aug 22, 2024
@olim7t
Copy link
Contributor

olim7t commented Aug 22, 2024

Marking this as blocked because it requires a change in cass-operator, see this PR comment.

olim7t added a commit to olim7t/k8ssandra-operator that referenced this issue Aug 22, 2024
olim7t added a commit to olim7t/k8ssandra-operator that referenced this issue Aug 30, 2024
@adejanovski adejanovski added ready-for-review Issues in the state 'ready-for-review' and removed blocked Issues in the state 'blocked' labels Aug 30, 2024
@rzvoncek rzvoncek assigned rzvoncek and unassigned rzvoncek Sep 9, 2024
@adejanovski adejanovski added review Issues in the state 'review' and removed ready-for-review Issues in the state 'ready-for-review' labels Sep 9, 2024
olim7t added a commit to olim7t/k8ssandra-operator that referenced this issue Sep 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review Issues in the state 'review'
Projects
No open projects
Status: Review
Development

Successfully merging a pull request may close this issue.

3 participants