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.