Upgrading Local Edition cluster from 5.5.0 to 5.5.1 for Docker Swarm Untethered

The following section provides information on upgrading Local Edition cluster from version 5.5.0 to 5.5.1 for Docker swarm.

The following steps are applicable to swarm environment in tethered mode.

Prerequisites

  • Local Edition 5.5.1 images must be built and pushed to the desired registry for deployment.
  • The volumes for tml-nosql, tml-sql, tml-log, and tml-cacheare reused, so while doing upgrade the number of these pods must be consistent with the earlier version.
  • The customization done to the JSON properties files at docker-deploy/properties/*.json in earlier version must be ported to 5.5.1. For example, tml_papi_properties.json in 5.5.0 has the same structure as 5.5.1, the customized tml_papi_properties.json in 5.5.0 can be copied to 5.5.1.
  • Admin must generate the manifest deployment folder, namely the manifest-single-zone, as per the deployment topology for version 5.5.1 by running the compose command.
Note: Some traffic disruptions are expected during upgrade. To minimize disruptions, upgrade theLocal Edition components sequentially, explained as follows.

Procedure

  1. To undeploy and redeploy NoSQL components:
    1. To remove running Local Edition 5.5.0 NoSQL container for single-zone deployment, run the following command.
      ./undeploy-nosql-pod.sh
    2. To deploy Local Edition 5.5.1 NoSQL containers for single-zone deployment, run the following command.
      ./deploy-nosql-pod.sh
  2. Undeploy and redeploy Log components.
    1. Remove running Local Edition 5.5.0 Log container for single-zone deployment, run the following command.
      ./undeploy-log-pod.sh
    2. To deploy Local Edition 5.5.1 Log containers for single-zone deployment, run the following command.
      ./deploy-log-pod.sh
  3. Undeploy and redeploy CM components.
    1. To remove running Local Edition 5.5.0 CM container for single-zone deployment:
      ./undeploy-cm-pod.sh
    2. To deploy Local Edition 5.5.1 CM containers for single-zone deployment:
      ./deploy-cm-pod.sh
  4. Undeploy and redeploy SQL components.
    The MySQL Certificate/Identity data migration for tethered mode should work for the following migration cases:
    • 5.3.1 to 5.4.1
    • 5.3.1 to 5.5.1
    • 5.5.0 to 5.5.1

    Complete the Certificate or Identity data migration as soon as the new Local Edition cluster is deployed, otherwise new certificates or identities created in the new Local Edition cluster are overwritten by data migration.

    1. Dump MySQL Data from the cluster created in the earlier version. Login to any tml-sql pod running in the earlier cluster.
      docker exec <sql-container-id> mysqldump --no-create-info --complete-insert --single-transaction -u root -p'changeme' masherysolar trust_store identity_store > mash_data.sql
      
      1. To remove running Local Edition 5.5.0 SQL container for single-zone deployment:
        ./undeploy-sql-pod.sh
      2. To delete SQL pvc after undeploying the SQL pod:
        docker volume rm sqlstack_sql-1-vol
      3. Deploy Local Edition 5.5.1 SQL containers for single-zone deployment:
        ./deploy-sql-pod.sh
    2. Copy MySQL Data dumped from the Local Edition 5.5.0 cluster to the new Local Edition 5.5.1 cluster.
      Copy MySQL data file to each tml-sql pod in the new TML cluster
      docker cp mash_data.sql <sql-container-id>:/tmp
      The "mysql-set-0-0" is the tml-sql pod in the new cluster.
    3. Import MySQL Data dumped from the Old TML Cluster to the new TML Cluster
      Run the following command in each tml-sql pod in the new TML cluster
      mysql -u root -p'changeme' -e "truncate table masherysolar.trust_store"
      mysql -u root -p'changeme' -e "truncate table masherysolar.identity_store"
      mysql -u root -p'changeme' masherysolar < /tmp/mash_data.sql
    4. Run the SQL loader in sql pods in the new TML Cluster
      Run the following command in each tml-sql pod to run the sql loader
      /opt/sqlloader/onpremloader --service --mapi --devclass --packager --httpsclientsecurity --env production --verbose
  5. Undeploy and redeploy Cache components.
    Remove running Local Edition 5.5.0 Cache container.
    1. For single zone undeployment:
      ./undeploy-cache-pod.sh
    2. To deploy the Local Edition 5.5.1 cache container for single-zone deployment:
      ./deploy-cache-pod.sh
  6. Undeploy and redeploy TM components.
    Remove running Local Edition 5.5.0 TM container.
    1. For single zone undeployment:
      ./undeploy-tm-pod.sh
    2. To deploy Local Edition 5.5.1 TM container for single-zone deployment:
      ./deploy-tm-pod.sh
  7. Optional. This step is applicable if reporting pod is deployed. Undeploy and redeploy Reporting components.
    Remove running Local Edition 5.5.0 TM container.
    1. For single-zone undeployment :
      ./undeploy-reporting-pod.sh
    2. To deploy Local Edition 5.5.1 TM container:
      ./deploy-reporting-pod.sh