-
Notifications
You must be signed in to change notification settings - Fork 31
Remove the loadbalanced CQL service and document an alternative way to connect. #278
Conversation
Perhaps I misunderstand this bullet - when a node bootstraps, surely it should (attempt to) connect to all seeds in the cluster, not just its own node pool, in order to start? |
In #278 (comment) @munnerz wrote:
There are two things:
I think we should follow this up with a branch that enhances |
@wallrj PR needs rebase |
…o connect. In no particular order: * Removed the CQL service. * Added a headless `nodes` service. * Renamed the `seedprovider` service to `seeds`. * Added documentation explaining the two headless services and how to connect a CQL client. * Refactored the two headless services into a single service control * Removed the service update code, which was not tested and which added unecessary complication. * Navigator will now only touch the services if they are missing. * Updated the E2E tests so that `cql_connect` always attempts to connect to the `nodes` service. * Removed the ServiceName from the NodePool statefulsets because it no longer made sense with multiple NodePools / StatefulSets. The SS servicename is supposed to match a service dedicated to that statefulset, not a single seedprovider service. We probably should dynamically create a service for each nodepool. * Removed the, also broken, CASSANDRA_SEEDS configuration which was pointing `seedProviderServiceName` rather than at a service name matching the name of the statefulset. * In E2E tests Reverted to a better mechanism for simulating node failure. Decommission leaves the node in a decommissioned state causing the C* process to immediately exit. * Added CONSISTENCY checks to the E2E CQL queries to verify that both C* nodes are reachable and have the test data. Fixes: jetstack#232
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.
/lgtm
session = cluster.connect() | ||
rows = session.execute('SELECT ... FROM ...') | ||
for row in rows: | ||
print row |
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.
not python3 :o
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: kragniz The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these OWNERS Files:
You can indicate your approval by writing |
/test all [submit-queue is verifying that this PR is safe to merge] |
Automatic merge from submit-queue. |
In no particular order:
nodes
service.seedprovider
service toseeds
.cql_connect
always attempts to connect to thenodes
service.seedProviderServiceName
rather than at a service name matching the name of the statefulset.Fixes: #232
Release note: