realms-team / solmanager

Firmware for the manager
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

Bluemix connection does not recover #125

Closed keomabrun closed 6 years ago

keomabrun commented 7 years ago

When the MQTT (Bluemix) connection fails on the manager side, it seems that the network does not appear on make-a-mesh anymore, even when the MQTT comes back.

(I will add logs later)

keomabrun commented 7 years ago

The following was observed in SmartMarina. After that, it seems that the network does not appear on make-a-mesh.

2017-09-28 07:13:22,800   ibmiotf.gateway.Client     INFO    Connected successfully: g:0o6f49:manager:00-17-0d-00-00-58-2f-e4

> 2017-09-28 09:02:18,706   ibmiotf.gateway.Client     ERROR   Unexpected disconnect from the IBM Watson IoT Platform
2017-09-28 09:02:18,708   ibmiotf.gateway.Client     ERROR   Unexpected disconnect from the IBM Watson IoT Platform
2017-09-28 09:02:19,964   ibmiotf.gateway.Client     INFO    Connected successfully: g:0o6f49:manager:00-17-0d-00-00-58-2f-e4
keomabrun commented 7 years ago

The SmartMarina Manager appears on Bluemix but not on Make-A-Mesh. It looks like the problem is from the solmanager or make-a-mesh app and not from Bluemix itself.

keomabrun commented 7 years ago

I've enabled the debug mode at the solmanager side to see whether we receive the commands from Bluemix or not after that the manager disconnect and reconnect from Bluemix.

I've run a local make-a-mesh, sending snapshot commands to the smartmarina manager and I got JsonServer response timed out. By looking at the logs, it seems that the subscribeToGatewayCommands callback is not called.

The WastonIotThread is still running (appearing when using the 'i' command on solmanager CLI).

My first guess is that there is an issue in the ibmiotf python lib. This lib is not in a stable version yet. My second guess is that we need to put the connect() function in an infinite loop so that it restarts after failure. I have to read the docs in more details.