Closed wallrj closed 6 years ago
Removed the, also broken, CASSANDRA_SEEDS configuration which was pointing seedProviderServiceName rather than at a service name matching the name of the statefulset.
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 https://github.com/jetstack/navigator/pull/278#issuecomment-372641959 @munnerz wrote:
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?
There are two things:
SimpleSeedProvider
.StatefulSet.Spec.ServiceName
had previously been set to a single, cluster wide service name. So when there are multiple node pools and pods from multiple statefulsets, the DNS names no longer reflect the controlling statefulset...instead they'd be something like euwest1a-0.cass-seeds.my-namespace.srv.cluster.local
which works (somehow)....but
cass-seeds
is no longer ideal, because there will only be DNS names for pods that have been labelled as seeds. I think we should follow this up with a branch that enhances CreateNodePool
action so that it also creates a headless service per nodepool....and that dynamically created service can be the name we use in the statefulset.spec.serviceName
@wallrj PR needs rebase
[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.
/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: