Skip to content

docker-compose: incomplete ThingsBoard PE upgrade #500

Open
@jernejcvek

Description

@jernejcvek

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 for tb-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 for tb-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 the TB_LICENSE_INSTANCE_DATA_FILE environment variable stored in tb-node.env).

Page to Update:
https://thingsboard.io/docs/user-guide/install/pe/cluster/docker-compose-setup/#upgrading

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions