Skip to main content
Skip table of contents

Upgrade guide CX-4.5.2 to CX-4.5.3

Before upgrading, ensure that the system is idle, i.e., all agents are logged out from the AgentDesk.
Make sure the system is idle for 30 minutes, to sync the reporting data

  1. Clone the CX repository on the target server

    CODE
    # Create CX-4.5.3 directory from root
    mkdir CX-4.5.3
    # Navigate to CX-4.5.3
    cd CX-4.5.3
    # Clone the CX-4.5.3 branch of cim-solution repository
    git clone -b CX-4.5.3 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cim/cim-solution.git
    # Navigate to root(previous) directory
    cd ..
  2. Stop all core components.

    CODE
    # Navigate to the following folder of the existing release i.e. CX-4.5.2
    cd cim-solution/kubernetes
    kubectl delete -f cim/Deployments
    kubectl delete -f cim/StatefulSet/ef-amq-statefulset.yaml
    
    
    # Stop reporting connector
    kubectl delete -f pre-deployment/reportingConnector/ef-reporting-connector-cron.yaml -n expertflow
    
    # Stop team-announcement cron job
    kubectl delete -f pre-deployment/team-announcement/ef-team-announcement-cronjob.yaml -n expertflow
  3. Update the AMQ deployment.

    CODE
    1) Open cim/StatefulSet/ef-amq-statefulset.yaml file.
    2) Update AMQ Tag 
      gitimages.expertflow.com/general/activemq-k8s:5.17.1-alpine-zulu-K8s-4.5.3-4.5.3-v2
    3) Apply ActiveMQ deployment 
      kubectl apply -f cim/StatefulSet/ef-amq-statefulset.yaml  
  4. Update the ConfigMaps

    CODE
    # Update Common enviroment configmap
    1) kubectl delete -f cim/ConfigMaps/ef-common-environment.yaml
    2) open cim/ConfigMaps/ef-common-environment.yaml file.
    3) Add following existing environment variables
       MASK_ATTRIBUTES_PATH: /sensitive.js
       CONVERSATION_SEARCH_WINDOW_HRS: "24"
       LOGGING_CONFIG: /logback/logback-spring.xml
    
    # Update ef-customer-widget-configmap.yaml
      1) kubectl delete -f cim/ConfigMaps/ef-customer-widget-configmap.yaml
      2) Open cim/ConfigMaps/ef-customer-widget-configmap.yaml  file.
      3) Add following new environment variables
         USERNAME_ENABLED: "true"
                 
    # Update ef-bot-framework-configmap.yaml
      1) kubectl delete -f cim/ConfigMaps/ef-bot-framework-configmap.yaml
      2) Open cim/ConfigMaps/ef-bot-framework-configmap.yaml  file.
      3) Add following new environment variables
         MASKING_LAYOUT_CLASS: com.ef.botframework.commons.MaskingPatternLayout
    
    # Update kubernetes/cim/ConfigMaps/ef-ccm-configmap.yaml
      1) kubectl delete -f cim/ConfigMaps/ef-ccm-configmap.yaml
      2) Open kubernetes/cim/ConfigMaps/ef-ccm-configmap.yaml  file.
      3) Add following new environment variables
         MASKING_LAYOUT_CLASS: com.ef.ccm.utils.MaskingPatternLayout
    
    # Update kubernetes/cim/ConfigMaps/ef-conversation-manager-configmap.yaml
      1) kubectl delete -f cim/ConfigMaps/ef-conversation-manager-configmap.yaml
      2) Open kubernetes/cim/ConfigMaps/ef-conversation-manager-configmap.yaml  file.
      3) Add following new environment variables
         MASKING_LAYOUT_CLASS: com.ef.conversationmanager.utility.MaskingPatternLayout  
         
    # Update kubernetes/cim/ConfigMaps/ef-routing-engine-configmap.yaml
      1) kubectl delete -f cim/ConfigMaps/ef-routing-engine-configmap.yaml
      2) Open kubernetes/cim/ConfigMaps/ef-routing-engine-configmap.yaml  file.
      3) Add following new environment variables
         MASKING_LAYOUT_CLASS: com.ef.mediaroutingengine.global.utilities.MaskingPatternLayout 
    
    # Update kubernetes/cim/ConfigMaps/ef-360-connector-configmap.yaml
      1) kubectl delete -f cim/ConfigMaps/ef-360-connector-configmap.yaml
      2) Open kubernetes/cim/ConfigMaps/ef-360-connector-configmap.yaml  file.
      3) Add following new environment variables
           MASKING_LAYOUT_CLASS: com.ef.connector360.utility.MaskingPatternLayout
    
    # Update kubernetes/cim/ConfigMaps/ef-facebook-connector-configmap.yaml
      1) kubectl delete -f cim/ConfigMaps/ef-facebook-connector-configmap.yaml
      2) Open kubernetes/cim/ConfigMaps/ef-facebook-connector-configmap.yaml  file.
      3) Add following new environment variables
           MASKING_LAYOUT_CLASS: com.ef.connector.facebookconnector.utility.MaskingPatternLayout   
           
    # Update kubernetes/cim/ConfigMaps/ef-instagram-connector-configmap.yaml
      1) kubectl delete -f cim/ConfigMaps/ef-instagram-connector-configmap.yaml
      2) Open kubernetes/cim/ConfigMaps/ef-instagram-connector-configmap.yaml  file.
      3) Add following new environment variables
             MASKING_LAYOUT_CLASS: com.ef.connector.instagramconnector.utils.MaskingPatternLayout
             
    # Update kubernetes/cim/ConfigMaps/ef-smpp-connector-configmap.yaml
      1) kubectl delete -f cim/ConfigMaps/ef-smpp-connector-configmap.yaml
      2) Open kubernetes/cim/ConfigMaps/ef-smpp-connector-configmap.yaml  file.
      3) Add following new environment variables
             MASKING_LAYOUT_CLASS: com.ef.sms.utils.MaskingPatternLayout
    
    # Update kubernetes/cim/ConfigMaps/ef-telegram-connector-configmap.yaml
      1) kubectl delete -f cim/ConfigMaps/ef-telegram-connector-configmap.yaml
      2) Open kubernetes/cim/ConfigMaps/ef-telegram-connector-configmap.yaml  file.
      3) Add following new environment variables
          MASKING_LAYOUT_CLASS: com.ef.spring.util.MaskingPatternLayout
    
    # Update kubernetes/cim/ConfigMaps/ef-twilio-connector-configmap.yaml
      1) kubectl delete -f cim/ConfigMaps/ef-twilio-connector-configmap.yaml
      2) Open kubernetes/cim/ConfigMaps/ef-twilio-connector-configmap.yaml  file.
      3) Add following new environment variables
             MASKING_LAYOUT_CLASS: com.ef.twilio.connector.util.MaskingPatternLayout
             
    # Update app translations 
      1) Copy Agent desk translation files 
         From CX-4.5.3/cim-solution/kubernetes/pre-deployment/app-translations/unified-agent/i18n 
         To pre-deployment/app-translations/unified-agent
      2) Delete and Create the ConfigMap
        kubectl delete cm ef-app-translations-cm -n expertflow
        kubectl -n expertflow create configmap ef-app-translations-cm --from-file=pre-deployment/app-translations/unified-agent/i18n/          
             
    # Update kubernetes/cim/ConfigMaps/ef-viber-connector-configmap.yaml
      1) kubectl delete -f cim/ConfigMaps/ef-viber-connector-configmap.yaml
      2) Open kubernetes/cim/ConfigMaps/ef-viber-connector-configmap.yaml  file.
      3) Add following new environment variables
             MASKING_LAYOUT_CLASS: com.ef.connector.utils.MaskingPatternLayout            
  5. Add the logback configmap file

    CODE
    1) Copy logback directory 
       from CX-4.5.3/cim-solution/kubernetes/pre-deployment/logback to current release's kubernetes/pre-deployment   
    2) Create configMap
       kubectl apply -f pre-deployment/logback/
       kubectl -n expertflow create configmap ef-logback-cm --from-file=pre-deployment/logback/logback-spring.xml
  6. Update Conversation controller training

    CODE
    # Update the controller training
      # Update rasa-tag
      1) Open external/rasa-x/values-small.yaml
      2) Update rasa tag from "4.5" to "4.5.3"
         app:
           tag: "4.5.3"
      3) Upgrade rasa using following command 
          helm  upgrade --install=true --wait=true --timeout=10m0s --debug   rasa-x    --namespace rasa-x     --values external/rasa-x/values-small.yaml  external/rasa-x     
      # Update custom training
      1) Delete controller configmaps
          kubectl -n expertflow delete configmap ef-conversation-controller-actions-cm 
          kubectl -n expertflow delete configmap ef-conversation-controller-actions-utils-cm 
      2) Copy actions and utils folder  
          Copy CX-4.5.3/cim-solution/kubernetes/pre-deployment/conversation-Controller/actions into current release
          cim-solution/kubernetes/pre-deployment/conversation-Controller
          Copy CX-4.5.3/cim-solution/kubernetes/pre-deployment/conversation-Controller/utils into current release
          cim-solution/kubernetes/pre-deployment/conversation-Controller
      3) Create configMaps
          kubectl -n expertflow create configmap ef-conversation-controller-actions-cm --from-file=pre-deployment/conversation-Controller/actions
          kubectl -n expertflow create configmap ef-conversation-controller-actions-utils-cm --from-file=pre-deployment/conversation-Controller/utils    
           
  1. Update following core deployments.

    CODE
    # update deployment
    1) Copy deployment folder
    
    Copy CX-4.5.3/cim-solution/kubernetes/cim/Deployments into current release 
    cim-solution/kubernetes/cim/Deployments

Update the replica count for components as per your workload.

  1. Run the MySQL/MSSQL update script on top of the current historical database

    CODE
    # Run the script as per your configured DB
    # MySQL Script
    CX-4.5.3/cim-solution/kubernetes/pre-deployment/reportingConnector/dbScripts/dbupdate/historical_reports_db_update_script_MYSQL.sql.sql
    Or
    # MSSQL
    CX-4.5.3/cim-solution/kubernetes/pre-deployment/reportingConnector/dbScripts/dbupdate/historical_reports_db_update_script_MSSQL.sql.sql
  2. Update reporting connector

    CODE
    # Update ef-reporting-connector-cron.yaml
      1) Replace ef-reporting-connector-cron.yaml file  
         Copy from CX-4.5.3/cim-solution/kubernetes/pre-deployment/reportingConnector/ef-reporting-connector-cron.yaml 
         to cim-solution/kubernetes/pre-deployment/reportingConnector
  3. Start all core components.

    CODE
    # Apply all ConfigMaps
    kubectl apply -f cim/ConfigMaps
    # Apply all deployments
    kubectl apply -f cim/Deployments
    
    
    # Apply reporting-connector cron job
    kubectl apply -f pre-deployment/reportingConnector/ef-reporting-connector-cron.yaml -n expertflow
    
    # Apply team-announcement cron job
    kubectl apply -f pre-deployment/team-announcement/ef-team-announcement-cronjob.yaml -n expertflow
  4. Upgrade guide for reports

  5. Upgrade guide for CX Voice.

JavaScript errors detected

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

If this problem persists, please contact our support.