Skip to main content
Tungsten Dashboard

404 After Test Connection Succeeds

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

This situation happens when the Dashboard cannot resolve the domain names 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:

  1. Identify all hostnames returned by the REST API endpoint api/v8/manager/cluster/topology

  2. SSH to the Dashboard container

  3. Install the DNS Tools to get access to the dig command:

    shell> apt upgrade;
    shell> apt install dnsutils;
  4. 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.