Problem : You receive a 404 after "test-connection" was successful
This situation happens when the Dashboard cannot resolve the domain names from
returned by the API endpoint api/v8/manager/cluster/topology
For example:
{
"payloadType": "ClusterTopologyPayload",
"payloadVersion": "1",
"payload": {
"topology": "CLUSTERED_PRIMARY",
"name": "oulu",
"datasources": [
{
"name": "db21",
/* the value of "host" must be resolvable by Dashboard's dns */
"host": "db21",
"role": "master"
},
{
"name": "db22",
/* the value of "host" must be resolvable by Dashboard's dns */
"host": "db22",
"role": "slave"
},
{
"name": "db23",
/* the value of "host" must be resolvable by Dashboard's dns */
"host": "db23",
"role": "witness"
}
],
"routers": [...]
}
}If the Dashboard cannot obtain an IP address for the node name located above, the load balancing functionality breaks down. To resolve the issue:
Identify all hostnames returned by the REST API endpoint
api/v8/manager/cluster/topology
SSH to the Dashboard container
Install the DNS Tools to get access to the dig command:
shell>apt upgrade;shell>apt install dnsutils;
Test the hostname resolution for each hostname you collected in step 1.
If successful you will get ';; ANSWER SECTION:'
shell> dig db21;
"
; <<>> DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu <<>> db21
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30152
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: ab4ead051ab4fa5d (echoed)
;; QUESTION SECTION:
;db21. IN A
;; ANSWER SECTION:
db21. 5 IN A XX.XXX.XX.XXX" # <---- note valid ip in the answer.
"
;; Query time: 4 msec
;; SERVER: XX.XX.X.XXX#53(XX.XX.X.XX) (UDP)
;; WHEN: Wed Apr 09 12:13:03 UTC 2025
;; MSG SIZE rcvd: 65
"Example of a failed dns resolution:
shell> dig db20;
"
; <<>> DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu <<>> db20
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 12636
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: ad741d4ba38cc0a7 (echoed)
;; QUESTION SECTION:
;db20. IN A"
Note how the dig never got a valid IP address in the
';; ANSWER SECTION:' like in the success example.
Make sure that all of the hosts returned by the API topology endpoint can be resolved before proceeding further. Once all hostnames are resolvable, re-add the cluster to the Dashboard or reload the topology using the reload action or by making a small change to it, such as changing the first host.