Open
Description
Problem:
When updating ThingsBoard PE cluster setup with Docker compose to a newer version using the procedure described in the documentation, it seems that only the tb-core
microservice updates to a newer version, leaving some of the other microservices stuck at the previous version. This may cause errors due to incompatible versions, for example, problems with deserialization of messages used for communication between microservices.
Cause:
Current procedure:
$ ./docker-stop-services.sh
$ ./docker-upgrade-tb.sh --fromVersion=[FROM_VERSION]
$ ./docker-start-services.sh
docker-stop-services.sh
script stops all containers.docker-upgrade-tb.sh
script pulls new version only fortb-core1
microservice, which is used to upgrade ThingsBoard.- it seems
docker-start-services.sh
script just starts all stopped containers - and not recreates them - which causes that containers are using the old version, except fortb-core1
microservice's container which Docker image was explicitly updated in the previous step.
Proposed Solution:
To make sure all containers are properly updated to newer version, the procedure may be changed to:
./docker-stop-services.sh
- update environment variable
TB_VERSION
stored in.env
to the newer version ./docker-upgrade-tb.sh --fromVersion=[FROM_VERSION]
./docker-update-service.sh
- reinstall license after rebooting; (1) delete license for affected TB instance at Thingsboard license portal, (2) remove TB license data file from
tb-core
Docker container(s) (location of this file is defined in theTB_LICENSE_INSTANCE_DATA_FILE
environment variable stored intb-node.env
).
Page to Update:
https://thingsboard.io/docs/user-guide/install/pe/cluster/docker-compose-setup/#upgrading
Metadata
Metadata
Assignees
Labels
No labels