10.2. 404 after test

Problem : You receive a 404 after "test-connection" was successful

This situation happens when the dashboard cannot resolve the domain names from api/v8/manager/cluster/topology response to ips it can connect to. This breaks the load balancing of the Dashboard. To resolve the issue use any RestAPI tool to fetch the response from this end point.

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": [...]
    }
}

Collect the host values from the response and SSH to the Dashboard container. To test the dns you've got from the response. Before we can do so we need to install some tools. Run the commands:

shell> apt upgrade;
shell> apt install dnsutils;

Followed by:

shell> dig -v;
# ie. DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu

Next test the hosts you got from the topology response, for example:

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 back like in the previous example.

Make sure that the hosts returned by the topology end point can be resolved to proceed further. Once they can re-add the cluster to the dashboard or reload it topology by the reload action or by making a small change to it, such as changing the first host.