Hello
I am trying to follow the steps for migrating a FoundationDB cluster from non-TLS to TLS and I’m having some strange issues on basically the first step:
In order to have both TLS and non-TLS ports listening, the docs advise running this command to start up the servers:
/path/to/fdbserver -C fdb.cluster -p 127.0.0.1:4500 -p 127.0.0.1:4600:tls
This works fine and I am seeing both ports being open. I am setting up my certificates and verification and it looks like the cluster is able to communicate internally with all the ports, both with TLS and without.
However, fdbcli reports the database as unavailable:
The database is unavailable; type `status' for more information.
Which from what I can tell is because of not being able to find the cluster controller
Unable to locate the cluster-controller worker.
Unable to retrieve all status information.
Other than that, the database appears healthy, I can write and read from it.
fdb> set hello 1
Committed (1911325794593)
fdb> get hello
`hello' is `1'
From traces I can see that there is an instance with a CC
role, so I assume that a controller does exist.
In traces, the machine identifies itself with its non-TLS port:
Machine: X.X.X.X:4502
In fdbcli
, status json
doesn’t list any instance as cluster_controller
. I do see an entry for the X.X.X.X
machine but it uses its TLS address:
"address" : "X.X.X.X:4602:tls",
If I understood correctly, running in this intermediate state is meant to just open additional port for processes, and not require creating additional processes in the cluster. Those addresses correspond the same machine ID and are essentially one process.
Is that the right understanding?
If so, how can I find out why the controller doesn’t appear in the status?
Thanks