Skip to main content
Skip table of contents

Upgrade Guide

The following section of the guide is valid only for Docker-based deployments for upgrading Hybrid Chat from 3.15.3 to 3.15.9.

Upgrade from 3.15.3 to 3.15.9

Changelog

The following table shows the changelog with respect to required manual updates during the upgrade process.


EntityUpdatedDescription
1Environment variables(tick)
2Translations(error)
3Reporting Database Schema(error)
4Reporting Data(error)
5Network Proxy Rules(error)
6Rasa Bot Training Data(error)

Prerequisites

  1. Gitlab container registry should be accessible from the host machine i.e. gitlab.expertflow.com:9242 
  2. One of the following tools should be installed on the host machine
    1. curl
    2. wget

Upgrade Procedure

Singleton Deployment

To upgrade from 3.15.3 to 3.15.9 in a singleton deployment, follow these steps:

  1. Stop Hybrid Chat

    Stop Hybrid Chat

    BASH
    efutils all down
  2. Navigate to the HC installation directory
  3. Create a backup of the coreversion.env  file 

    BASH
    # The following command will rename coreversion.env file as coreversion.env.3.15.3.backup
    mv coreversion.env{,.3.15.3.backup}
  4. Download the updated coreversion.env file 

    BASH
    # This command must be executed in the HC installation directory which you navigated to following step 2
    # Using curl
    curl https://gitlab.expertflow.com/expertflow/hybrid-chat/-/raw/3.15.9/coreversion.env --output coreversion.env
    
    # or via using wget
    wget https://gitlab.expertflow.com/expertflow/hybrid-chat/-/raw/3.15.9/coreversion.env

    The following section of point # 4 only applies if the above commands fail


    Executing the above command will fetch updated information about images. If unable to perform this, revert the step 3 

    CODE
    mv coreversion.env.3.15.3.backup coreversion.env

    Edit the coreversion.env file and update the following image tags: 


    Componentcoreversion.env KeyPrevious VersionUpdated Version
    1ActiveMQactivemq 5.16.1-openj9-alpine-slim 5.17.1-alpine-zulu-11-hardened 
    2Chat Serverchat 3.15.3 3.15.6 
    3Communication Servercommserver 3.14.0 3.15.9 
    4Media Routing Enginemre 3.15.3 3.15.9 
    5Customer Gadgetcustomergadget 3.15.0 3.15.6 
    6Database Connectordatabaseconnector 3.15.3 3.15.9 
    7Customer Channel Managerccm 3.15.0 3.15.7 
    8Reporting Connectorreportingconnector 3.15.3 3.15.8 

    Save the coreversion.env  file

  5. Navigate to the environment-variables directory 

    CODE
    cd <hc-installtion-dir>/docker/environment-variables/
  6. Add/update the following variables in the respective files 


    Environment VariableDefault ValueActionDescription
    Chat Server chat-variables.env 
    1MOBILE_CUSTOMER_RECONNECT_TIME 120 

    ADD

    This is the customer inactivity timeout for when a customer is using web chat in a mobile browser. Time is in seconds.
    Communication Server comm-server-variables.env 
    2RONA_TIMEOUT -1 

    UPDATE

    RONA_TIMEOUT value was in milliseconds in the HC 3.15.3 release. It has been changed to seconds in HC 3.15.9. Adjust the value of this environment variable accordingly. To disable RONA, set its value to -1.
    Database Connector database-connector-variables.env 
    3ERR_FILE_PATH /usr/src/app/err 

    ADD

    HC 3.15.9 release tries to take correcting actions for avoiding ghost chats up to 20 times. If still not successful, it dumps the problematic messages in an err file. This environment variable holds the path of that file. Do not change this value unless recommended by the maintainer(s).
  7. Start Hybrid Chat 

    Start Hybrid Chat

    BASH
    efutils all up

High Availability (HA) Deployment

  1. Turn down Hybrid Chat on both primary and secondary machines
  2. Perform the upgrade using the singleton deployment method on the primary machine
  3. Turn down Hybrid Chat on the primary machine
  4. Perform the upgrade using the singleton deployment method on the secondary machine
  5. Renounce the following services on the secondary machine
    1. Chat Server
    2. Comm Server
    3. MRE
    4. Reporting Connector
    5. Database Connector


The following section of the guide is valid only for Docker-based deployments for upgrading Hybrid Chat from 3.13.x to 3.15.0.

Upgrade from 3.14.0 to 3.15.0

Changelog

The following table shows the changelog with respect to required manual updates during the upgrade process.


EntityUpdatedDescription
1Environment variables(tick)
2Translations(error)
3Reporting Database Schema(error)
4Reporting Data(error)
5Network Proxy Rules(error)
6Rasa Bot Training Data(error)

Upgrade Procedure

To upgrade from 3.14.0 to 3.15.0, follow these steps:

  1. Backup MongoDB and MySql database data.
  2. Stop HC completely.
  3. Remove efutils symbolic link

    Remove Symbolic Link

    BASH
    # the following command can be used to remove efutils symbolic link, make sure your have remove privilidges
    # press y when this command prompts for removing the symlink, press enter to confirm
    [root@hc-host ~] rm -i $(which efutils)
    rm: remove symbolic link '/usr/bin/efutils'? y
  4. Deploy the new solution in a new location on the same host.
  5. Stop HC after deploying the new solution.
  6. Deploy Customer Web Widget from the master branch. Update Queues & customer channel data configurations in the new Web Widget deployment as per your previous configuration.
  7. Copy <3.14.0-install-dir>/docker/environment-variables/*  to <3.15.0-install-dir>/docker/environment-variables/* . It makes sure that all the previous configurations are imported in the new deployment.
  8. Add/update the following environment variables in <3.15.0-install-dir>/docker/environment-variables/*.env files


    ComponentEnvironment Variable FileEnvironment VariableActionRecommendationPrevious ValueUpdated ValueDescription
    1CCMccm-variables.env360DIALOG_HOST_URL

    ADD

    OPTIONAL


    https://waba.360dialog.ioUsed for 360Dialog integration for WhatsApp channel, it is mandatory to add it if you are planning to integrate 360Dialog WhatsApp with HC. It is optional otherwise
    2CCMccm-variables.env360DIALOG_API_KEY

    ADD

    OPTIONAL


    N/AUsed for 360Dialog integration for WhatsApp channel, it is mandatory to add it if you are planning to integrate 360Dialog WhatsApp with HC. It is optional otherwise
    3CCMccm-variables.env360DIALOG_WHATSAPP_NUMBER

    ADD

    OPTIONAL


    N/AUsed for 360Dialog integration for WhatsApp channel, it is mandatory to add it if you are planning to integrate 360Dialog WhatsApp with HC. It is optional otherwise
    4CCMccm-variables.env360DIALOG_READ_TIMEOUT

    ADD

    OPTIONAL


    3000Used for 360Dialog integration for WhatsApp channel, it is mandatory to add it if you are planning to integrate 360Dialog WhatsApp with HC. It is optional otherwise
    5CCMccm-variables.env360DIALOG_CONNECT_TIMEOUT

    ADD

    OPTIONAL


    3000Used for 360Dialog integration for WhatsApp channel, it is mandatory to add it if you are planning to integrate 360Dialog WhatsApp with HC. It is optional otherwise
    6CCMccm-variables.env360DIALOG_ERR_NOTIFICATION

    ADD

    OPTIONAL


    The system only supports text messages, please retry

    Used for 360Dialog integration for WhatsApp channel, it is mandatory to add it if you are planning to integrate 360Dialog WhatsApp with HC. It is optional otherwise
    7CCMccm-variables.envFACEBOOK_APP_SECRET

    ADD

    OPTIONAL


    N/AUsed for FB Messenger app integration for the Facebook channel. It is mandatory to add if you are planning to integrate FB Messenger with HC, optional otherwise
    8CCMccm-variables.envFACEBOOK_GRAPH_API_URL

    UPDATE

    OPTIONAL

    https://graph.facebook.com/v4.0https://graph.facebook.com/v10.0Used for FB Messenger app integration for the Facebook channel. It is mandatory to add if you are planning to integrate FB Messenger with HC, optional otherwise
  9. Copy <3.14.0-install-dir>/docker/translations/*  to <3.15.0-install-dir>/docker/translations/* . No new translation is added or updated in this release.
  10. Start HC 3.15.0 using efutils all (select 1 to turn the solution up).
  11. Restore MySql and MongoDB backup. MongoDB and MySql containers should be running for backup restore. If 3.14.0 was deployed in high availability mode, restore MongoDB and MySql on both primary and secondary host machines.
  12. If certificates for the customer are mounted via Volume Mount to APP-GATEWAY container, mount the same directory to HC 3.15.0 APP-GATEWAY service in <3.14.0-install-dir>/sds/docker-compose-service-gateway.yml file for singleton deployment and in <3.15.0-intall-dir>/sds/docker-compose-ha-service-gateway.yml if HC 3.15.0 is being deployed in HA mode. Use efutils service to perform Up operation for APP-GATEWAY container after this update. 
  13. Start HC 3.15.0 after performing these steps.
  14. Restart MRE service.


If 3.14.0 was deployed in high availability mode, perform the upgrade operations for Primary and Secondary host machines. There is no update for the Arbiter node. After upgrade, execute the renounce scripts in the secondary host machine.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.