Breadcrumbs

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.


Entity

Updated

Description

1

Environment variables

(tick)


2

Translations

(cross)


3

Reporting Database Schema

(cross)


4

Reporting Data

(cross)


5

Network Proxy Rules

(cross)


6

Rasa Bot Training Data

(cross)


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 machinecurlwget

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

    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 


    mv coreversion.env.3.15.3.backup coreversion.env
    

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


    Component

    coreversion.env Key

    Previous Version

    Updated Version

    1

    ActiveMQ

    activemq

    5.16.1-openj9-alpine-slim

    5.17.1-alpine-zulu-11-hardened

    2

    Chat Server

    chat

    3.15.3

    3.15.6

    3

    Communication Server

    commserver

    3.14.0

    3.15.9

    4

    Media Routing Engine

    mre

    3.15.3

    3.15.9

    5

    Customer Gadget

    customergadget

    3.15.0

    3.15.6

    6

    Database Connector

    databaseconnector

    3.15.3

    3.15.9

    7

    Customer Channel Manager

    ccm

    3.15.0

    3.15.7

    8

    Reporting Connector

    reportingconnector

    3.15.3

    3.15.8

    Save the coreversion.env  file

  5. Navigate to the environment-variables directory 

    cd <hc-installtion-dir>/docker/environment-variables/
    


  6. Add/update the following variables in the respective files 


    Environment Variable

    Default Value

    Action

    Description

    Chat Server

    chat-variables.env 

    1

    MOBILE_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 

    2

    RONA_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 

    3

    ERR_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 

    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 machineChat ServerComm ServerMREReporting ConnectorDatabase 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.


Entity

Updated

Description

1

Environment variables

(tick)


2

Translations

(cross)


3

Reporting Database Schema

(cross)


4

Reporting Data

(cross)


5

Network Proxy Rules

(cross)


6

Rasa Bot Training Data

(cross)


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

    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


    Component

    Environment Variable File

    Environment Variable

    Action

    Recommendation

    Previous Value

    Updated Value

    Description

    1

    CCM

    ccm-variables.env

    360DIALOG_HOST_URL

    add

    OPTIONAL


    https://waba.360dialog.io

    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

    2

    CCM

    ccm-variables.env

    360DIALOG_API_KEY

    add

    OPTIONAL


    N/A

    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

    3

    CCM

    ccm-variables.env

    360DIALOG_WHATSAPP_NUMBER

    add

    OPTIONAL


    N/A

    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

    4

    CCM

    ccm-variables.env

    360DIALOG_READ_TIMEOUT

    add

    OPTIONAL


    3000

    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

    5

    CCM

    ccm-variables.env

    360DIALOG_CONNECT_TIMEOUT

    add

    OPTIONAL


    3000

    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

    6

    CCM

    ccm-variables.env

    360DIALOG_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

    7

    CCM

    ccm-variables.env

    FACEBOOK_APP_SECRET

    add

    OPTIONAL


    N/A

    Used 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

    8

    CCM

    ccm-variables.env

    FACEBOOK_GRAPH_API_URL

    Update

    OPTIONAL

    https://graph.facebook.com/v4.0

    https://graph.facebook.com/v10.0

    Used 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.