thingsboard / thingsboard-ce-k8s

ThingsBoard Community Edition Kubernetes scripts and docs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error on login page "POST: /api/noauth/oauth2Clients?platform=WEB 404: Not Found"

arunnechlani opened this issue · comments

thingsboard_error

Hi,

I have deployed thingsboard-ce-k8s project via helm using my AWS MSK kafka. I have enabled ingress as well. But on UI web page its giving error "POST: /api/noauth/oauth2Clients?platform=WEB 404: Not Found"

kubectl describe ing
Name: nginx-ingress-microk8s
Labels: app=nginx-ingress-microk8s
app.kubernetes.io/managed-by=Helm
Namespace: default
Address: 127.0.0.1
Ingress Class: public
Default backend:
Rules:
Host Path Backends


  •       /api/v1/.*                    ioc-http:8082 ()
          /api/.*                       ioc-node:8080 (10.1.80.110:8080)
          /swagger.*                    ioc-node:8080 (10.1.80.110:8080)
          /webjars.*                    ioc-node:8080 (10.1.80.110:8080)
          /v2/.*                        ioc-node:8080 (10.1.80.110:8080)
          /v3/.*                        ioc-node:8080 (10.1.80.110:8080)
          /static/rulenode/.*           ioc-node:8080 (10.1.80.110:8080)
          /assets/help/.*/rulenode/.*   ioc-node:8080 (10.1.80.110:8080)
          /oauth2/.*                    ioc-node:8080 (10.1.80.110:8080)
          /login/oauth2/.*              ioc-node:8080 (10.1.80.110:8080)
          /                             ioc-webui:8084 (10.1.80.104:8084)
          /.*                           ioc-webui:8084 (10.1.80.104:8084)
    

Annotations: meta.helm.sh/release-name: ioc
meta.helm.sh/release-namespace: default
Events:

On MQTT/HTTP transport i am getting this error and its crashing after timeout is hitting.

2023-11-06 04:27:35,653 [main] INFO o.t.s.q.d.HashPartitionService - Failed to get queues routing info: java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutException!
2023-11-06 04:27:45,653 [main] INFO o.t.s.q.d.HashPartitionService - Try to get queue routing info.

On node pod i see below error

:22:07,865 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [tb-rule-engine-notifications-node-tb-node] Failed to get consumer group stats. Reason - null.
2023-11-06 04:22:08,865 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [rule-engine-node-tb-node] Failed to get consumer group stats. Reason - null.
2023-11-06 04:22:09,866 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [re-Main-consumer] Failed to get consumer group stats. Reason - null.
2023-11-06 04:22:11,373 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [re-SequentialByOriginator-consumer] Failed to get consumer group stats. Reason - Failed to get offsets by times in 1000ms.
2023-11-06 04:22:12,882 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [re-HighPriority-consumer] Failed to get consumer group stats. Reason - Failed to get offsets by times in 1000ms.
2023-11-06 04:23:13,392 [kafka-consumer-stats-8-thread-1] INFO org.apache.kafka.clients.Metadata - [Consumer clientId=consumer-stats-loader-client, groupId=consumer-stats-loader-client-group] Cluster ID: CLHIvEO9Qq6J8Z0Pcj5g8Q
2023-11-06 04:23:14,392 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [tb-rule-engine-notifications-node-tb-node] Failed to get consumer group stats. Reason - Failed to get offsets by times in 1001ms.
2023-11-06 04:23:15,897 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [rule-engine-node-tb-node] Failed to get consumer group stats. Reason - Failed to get offsets by times in 1001ms.

node pod is deployed with below env variables values:

      - name: TB_SERVICE_ID
        value: "tb-node"
      - name: TB_SERVICE_TYPE
        value: "tb-rule-engine"
      - name: TB_QUEUE_TYPE
        value: "kafka"

For UI error i was able to fix it by changing the path in ingress file from webui to node as below, but other exceptions are still coming.

      - path: /
        pathType: ImplementationSpecific
        backend:
          service:
            name: {{ $releaseName }}-node
            port:
              number: {{ $values.node.service.port }}
      - path: /.*
        pathType: ImplementationSpecific
        backend:
          service:
            name: {{ $releaseName }}-node
            port:
              number: {{ $values.node.service.port }}

Hi @arunnechlani,

I'm trying changes to the helm chart as well. Of course in the same time, I'm pretty new to the Thingsboard itself and its internals.

Currently I'm running into the same issue as you mentioned, so I'll try to apply the changes you're proposing to the Ingress resource as well.

Do you have enough experience with Thingsboard to explain why redirecting these paths away from the Web UI to the Node would help?

Thanks in advance!

As thingsboard-node runs its own web ui, it kind of looks like thingsboard-node is actually still running in monolith mode..