Cumulocity-IoT / cumulocity-dynamic-mapper

The ultimate Mapper for building the bridge between any Message Broker and Cumulocity IoT in a zero-code approach!
Apache License 2.0
10 stars 9 forks source link

Microservice of mapper not work properly on Thick Edge #139

Closed zhong-ys closed 4 months ago

zhong-ys commented 6 months ago

Edge version: 10.17 Dynamic mapper version: 3.2.2 Login mode: Basic

After uploading and subscribing the microservice zip file, the service will be active for a while. Then the status will change to unhealthy. In the logs there will be some errors related to authentication and connection refused.

System requirements are fulfilled (at least 4 logical CPU cores and 8 GB RAM).

Have been tested the same version of the Microservice on eu-latest, it works without any errors.

Here is the log file: data-mapper-log.txt

switschel commented 6 months ago

Hi @zhong-ys

thank you for raising the issue. Can you clarify which Login Settings are used on your Edge instance? Is this Basic Auth, OAISecure or SSO ? I think it doesn't relate to the dynamic mapper but to all microservices using the Microservice SDK and cannot authenticate properly at Cumulocity Edge.

zhong-ys commented 6 months ago

Hi Stefan,

Edge instance is using Basic Auth. I tested the Microservice on eu-latest with both Basic Auth and OAISecure. It worked fine in both cases. To add to this, the edge that can't run this Microservice is an Edge on Appliance VM. I will try to reproduce this issue on an Edge on k8s tomorrow.

switschel commented 6 months ago

It would be also interesting to see if you can host any other microservice using the microservice SDK in version 1017.x e.g. this one https://github.com/SoftwareAG/cumulocity-microservice-templates/tree/main/basic

zhong-ys commented 6 months ago

OK, I will also test it.

zhong-ys commented 6 months ago

Hi Stefan,

I tested the Microservice on the Edge on k8s. I wasn't able to reproduce the same error. But the Microservice can still not work properly. Even it is subscribed and has Active status, I still got the alarm 'Microservice:mqtt-mapping-service not subscribed. Please subscribe this service before using the mapping editor!'. Here are the logs of the mapper Microservice in two login modes: mqtt-mapping-service-scope-edge-deployment-6c4d96479-mpgqq_OAI_v3.2.2.log mqtt-mapping-service-scope-edge-deployment-6c4d96479-j5fwh_basicauth_v3.2.2.log

Also tested the basic Microserive as you suggested. It's interesting that it returned the same error. Here are logs from the basic microservice: basic_microservice_OAI.log basic_microservice_basicauth.log

switschel commented 6 months ago

Ok, for the edge we have to disable outboundMappings because there is no notification 2.0 running. Unfortunately this is still in the application.properties so I had to rebuild the microservice with that disabled. I sent the zip via Teams. With that the errors should go away. What is still strange that it states that the microservice is not deployed. Can you check the browser console when opening the Mapping UI, it should try to reach the microservice which obviously fails but we need to double check why.

zhong-ys commented 6 months ago

Thank you Stefan, I will test the Microservice and check the browser console next week. It would be great if you could explain in the Readme how to disable using the Notification 2.0 API so that Edge users can build Microservice images by themselves. Dynamic mapper is really a powerful tool that is also very helpful for Edge users.

switschel commented 5 months ago

Should be resolved with 4.3.0 release