Skip to main content
Skip table of contents

Upgrade Guide CX4.9.4 to CX4.10

Before upgrading, ensure that the system is idle, i.e; all agents are logged out from the AgentDesk.

Make sure to FLUSH the Redis before proceeding with the upgrade

Custom Configuration Strategy

For detailed guidelines on applying environment-specific configurations using custom values.yaml layering,

Refer to the CX Helm Chart Custom Configuration Strategy guide.

  1. Clone the CX repository on the target server

    CODE
    # Create CX-4.10 directory from root
    mkdir CX-4.10
    # Navigate to CX-4.10
    cd CX-4.10
    # Clone the 4.10 branch of cim-solution repository
    git clone -b CX-4.10 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cim/cim-solution.git $HOME/CX-4.10
    # Navigate to root(previous) directory
    cd ..
  2. Update helm repo

    CODE
    helm repo update expertflow
  3. Upgrade the MongoDB version using the following guide

  4. Upgrade the Redis version using the following guide

  5. Change the directory to the current deployment of CX

    CODE
    change directory to the following path in the current deployment
    cd CX-4.9.4/kubernetes
  6. Update permission in Keycloak

    1. Please create the following realm roles(if not exist) before importing the files mentioned below:

      • conversation-studio-admin

      • evaluator

      • quality-manager

    2. Import the following permission files under Clients --> cim --> Authorization --> Settings

      1. conversation-studio-authz-config.json

      2. If the Survey is deployed, import the corresponding surveys-authz-config-4.10.json

      3. If the Campaign is deployed, import its respective campaigns-authz-config-4.10.json

  7. Update the transflux helm chart
    Upgrade Guide for CX-Data Platform

    CODE
    # Update the helm-values/cx-transflux-custom-values.yaml as per the custom configuration strategy mentioned above and deploy 4.10.0 chart 
    
    helm upgrade --install --namespace expertflow   --set global.efCxReleaseName="ef-cx"  cx-transflux --debug --values helm-values/cx-transflux-custom-values.yaml expertflow/transflux --version 4.10.0
    1. Make sure to execute the following pipelines before proceeding with the rest of the upgrade. The Start-Time of these pipelines must be the same, as you upgraded to 4.9.x version.

      1. Routing_Engine_mRD_Batch_Migration_4.10

      2. Routing_Engine_mRD_no_Batch_Migration_4.10

If you can’t recall the Upgrade time/date for CX4.9, then you can use this query to get the date when this faulty data comes into the Mongo CX DB. If it returns nothing, then execution of the 1st Batch pipelines is not required.
Query:
use db state-events-logger_cx_db;

db.agentStateChangeEvents.find(
{ "data.agentPresence.agentMrdStates.mrd._id": ObjectId("6305de07166ba1099d11w889") },
{ timestamp: 1 } // projection
).sort({ timestamp: 1 }) // sorting

  1. Update the APISIX by following this guide

  2. Copy the ActiveMQ TLS

    CODE
    Copy From CX-4.10/kubernetes/pre-deployment/static-tls/activemq-tls.yaml to /pre-deployment/static-tls
    
    #Apply the secret
    
    kubectl apply -f pre-deployment/static-tls/activemq-tls.yaml
    
    #Copy the secret to expertflow namespace
    
    kubectl get secret activemq-tls -n ef-external  -o yaml | sed 's/namespace: ef-external/namespace: expertflow/' | kubectl create -f -
  3. Update the ActiveMQ chart

    CODE
    # Update the helm-values/ef-activemq-custom-values.yaml as per the custom configuration strategy mentioned above and deploy the 4.10.0 chart 
    
    helm upgrade --install=true  --namespace=ef-external --values=helm-values/ef-activemq-custom-values.yaml activemq expertflow/activemq --version 4.10.0
  4. Update the Unified-Agent Translation ConfigMaps

    CODE
    # Copy the unified agent translation directory to current release 
    1) Copy From CX-4.10/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/
  5. Update the canned message ConfigMaps

    CODE
    # Copy the canned message directory to current release 
    1) Copy From CX-4.10/kubernetes/pre-deployment/app-translations/unified-agent/canned-messages/canned-messages.json To pre-deployment/app-translations/unified-agent/canned-messages
    2) Delete and Create the ConfigMap
       kubectl delete cm ef-canned-messages-cm -n expertflow  
       kubectl -n expertflow  create configmap ef-canned-messages-cm --from-file=pre-deployment/app-translations/unified-agent/canned-messages
  6. Update the customer widget Translation ConfigMaps

    CODE
    # Copy the customer widget translation directory to current release
    1) Copy From CX-4.10/kubernetes/pre-deployment/app-translations/customer-widget/i18n to kubernetes/pre-deployment/app-translations/customer-widget
       kubectl delete cm ef-widget-translations-cm -n expertflow
       kubectl -n expertflow create configmap ef-widget-translations-cm --from-file=pre-deployment/app-translations/customer-widget/i18n/
  7. Update the supervisor dashboard ConfigMaps & update the agent desk helm chart

Update the supervisor dashboard ConfigMaps
  1. uninstall Agent-Desk

    CODE
    helm uninstall -n expertflow cx-agent-desk
  2. Delete Dashboard configmaps

    CODE
    #### FOR MYSQL
    kubectl -n expertflow   delete configmap ef-grafana-supervisor-dashboard-mysql
    kubectl -n expertflow delete configmap ef-grafana-agent-dashboard-mysql
    
    #### FOR MSSQL
    kubectl -n expertflow delete configmap ef-grafana-supervisor-dashboard-mssql
    kubectl  -n expertflow  delete configmap ef-grafana-agent-dashboard-mssql
  3. Delete dashboard provider

    CODE
    kubectl -n expertflow delete cm ef-grafana-dashboard-provider-cm
  4. Copy from CX-4.10/kubernetes/post-deployment/config/grafana/supervisor-dashboards/dashboard.yml to post-deployment/config/grafana/supervisor-dashboards

  5. Apply Dashboard provider configmap

    CODE
    kubectl -n expertflow create cm ef-grafana-dashboard-provider-cm --from-file=post-deployment/config/grafana/supervisor-dashboards/dashboard.yml
  6. Apply new Dashboard files configmap

    CODE
    Copy from CX-4.10/kubernetes/post-deployment/config/grafana/supervisor-dashboards/Supervisor_Dashboard_CIM.json to post-deployment/config/grafana/supervisor-dashboards
    Copy from CX-4.10/kubernetes/post-deployment/config/grafana/supervisor-dashboards/Agent_Dashboard_CIM.json to post-deployment/config/grafana/supervisor-dashboards
    ###Supervisor dashboard 
    kubectl -n expertflow   create configmap ef-grafana-supervisor-dashboard --from-file=post-deployment/config/grafana/supervisor-dashboards/Supervisor_Dashboard_CIM.json
    
    ### Agents Dashboard
    kubectl -n expertflow create configmap ef-grafana-agent-dashboard --from-file=post-deployment/config/grafana/supervisor-dashboards/Agent_Dashboard_CIM.json
  7. Update the agent desk helm chart

    CODE
    #Update the values file helm-values/cx-agent-desk-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart
    
    helm upgrade --install --namespace expertflow   --set global.efCxReleaseName="ef-cx"  cx-agent-desk  --debug --values helm-values/cx-agent-desk-custom-values.yaml expertflow/agent-desk --version 4.10.0
  1. Update the Campaigns helm chart

    CODE
    # Update helm-values/cx-campaigns-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart
    
    helm upgrade --install --namespace expertflow   --set global.efCxReleaseName="ef-cx"  cx-campaigns --debug --values helm-values/cx-campaigns-custom-values.yaml expertflow/campaigns --version 4.10.0
    
    Make sure to assign the role conversation-studio-admin to the Keycloak user admin.
    If you want to create an explicit user for campaigns, update the user in the campaigns siteEnvVars
  2. Update the survey helm chart

    CODE
    # Update helm-values/cx-surveys-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart
    
    helm upgrade --install --namespace expertflow  --set global.efCxReleaseName="ef-cx"   cx-surveys  --debug --values helm-values/cx-surveys-custom-values.yaml expertflow/surveys --version 4.10.0
    
    Make sure to assign the role conversation-studio-admin to the Keycloak user admin.
    If you want to create an explicit user for surveys, update the user in the surveys siteEnvVars
  3. Update the Channel helm chart

    CODE
    # Update helm-values/cx-channels-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart 
    
    helm upgrade --install --namespace expertflow  --set global.efCxReleaseName="ef-cx"   --debug   cx-channels --values  helm-values/cx-channels-custom-values.yaml  expertflow/channels --version 4.10.0
  4. Set up the Vault
    Clone the values file to update the parameters required

    CODE
    helm show values expertflow/vault --version 0.28.0 > helm-values/ef-vault-custom-values.yaml
    
    helm upgrade --install --namespace vault --create-namespace vault --debug --values helm-values/ef-vault-custom-values.yaml expertflow/vault --version 0.28.0
    
    # Copy from CX-4.10/kubernetes/pre-deployment/conversation-manager to pre-deployment

    Use the following vault configuration guide

  5. Update the Core helm chart
    Note: Previously clamav (File Scanning Service) was running with service name ‘cx-clamav' in ‘ef-external’ namespace. It’s name is moved from cx-clamav to clamav. In case of upgrade, you need to ensure that the name of clamav service is same in File Engine config map variable CLAMSCAN_HOST value is same as the service name of clamav (You can check that using command k get svc -n ef-external)
    In CX4.10, the conversation controller has been replaced by Conversation-Studio, which is part of the CX Core helm chart. All the custom trainings are managed by Conversation-Studio now.

    1. Delete the existing conversation controller training files

      CODE
      kubectl -n expertflow delete configmap ef-conversation-controller-actions-cm 
      kubectl -n expertflow delete configmap ef-conversation-controller-actions-pycache-cm 
      kubectl -n expertflow delete configmap ef-conversation-controller-actions-utils-cm  
    2. Uninstall the CX chart

      CODE
      helm uninstall -n expertflow ef-cx
    3. Create the following new configmaps

      CODE
      #Apply the graphql schema files
      
      #Copy from CX-4.10/kubernetes/pre-deployment/conversation-manager to cim-solution/kubernetes/pre-deployment
      
      kubectl create configmap -n expertflow conversation-manager-graphql-schemas --from-file=pre-deployment/conversation-manager/graphql/schemas
      
      #Apply the mongodb rules file
      
      kubectl create configmap -n expertflow conversation-manager-graphql-mongodb-rules --from-file=pre-deployment/conversation-manager/graphql/graphql-mongodb-rules.json
      
    4. CODE
      # Update helm-values/ef-cx-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart
      
      helm upgrade --install --namespace expertflow --create-namespace   ef-cx  --debug --values helm-values/ef-cx-custom-values.yaml expertflow/cx --version 4.10.0
  6. Conversation Studio (Control Flow) Deployment and Configuration Guide

  7. Update the Reporting Connector conf file

    CODE
    1) Edit kubernetes/pre-deployment/reportingConnector/reporting-connector.conf
    
    #update following browser language
    
    browser_language=en-US
    
    
    2) kubectl -n expertflow delete configmap ef-reporting-connector-conf-cm
    3) kubectl -n expertflow create configmap ef-reporting-connector-conf-cm --from-file=pre-deployment/reportingConnector/reporting-connector.conf
  8. Update the Reporting helm chart

    CODE
    # Update helm-values/cx-reporting-scheduler-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart
    
    
    
    helm upgrade --install --namespace expertflow --set global.efCxReleaseName="ef-cx"   cx-reporting --debug --values helm-values/cx-reporting-scheduler-custom-values.yaml  expertflow/reporting --version 4.10.0
  9. Set up the CiscoSyncService helm chart

    CODE
    # Update helm-values/cx-ciscosyncservice-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart
    
    helm upgrade --install --namespace expertflow  --set global.efCxReleaseName="ef-cx"  cisco-sync-service  --values helm-values/cx-ciscosyncservice-custom-values.yaml expertflow/cisco-sync-service --version 4.10.0
  10. Update the Middleware helm chart

    CODE
    # Update helm-values/cx-middleware-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart
    
    helm upgrade --install --namespace expertflow  --set global.efCxReleaseName="ef-cx"  eleveo-middleware  --values helm-values/cx-middleware-custom-values.yaml expertflow/eleveo-middleware --version 4.10.0
  11. Update the Middleware Cron job helm chart

    CODE
    #Update helm-values/cx-middleware-cronjob-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart
    
    helm upgrade --install --namespace expertflow  --set global.efCxReleaseName="ef-cx"  middleware-cronjob --debug --values helm-values/cx-middleware-cronjob-custom-values.yaml   expertflow/middleware-cronjob  --version 4.10.0
  12. Update the QM helm chart

    CODE
    #Update helm-values/cx-qm-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart
    
    helm upgrade --install --namespace=expertflow --set global.efCxReleaseName="ef-cx" qm  --debug --values helm-values/cx-qm-custom-values.yaml expertflow/qm --version 4.10.0
  13. Update the Rasa-x helm chart

    CODE
    update the image tag external/rasa-x/values-small.yaml
    
    tag: 4.10
    
    helm  upgrade --install=true --wait=true --timeout=10m0s --debug   rasa-x    --namespace rasa-x     --values external/rasa-x/values-small.yaml  external/rasa-x
  14. Update Superset Reports

    CODE
    #For Standard Reports:
    Download the reports folder from kubernetes/post-deployment/supersetReporting/MSSQL/all reports
    
    #QM Reports
    Download the reports folder from kubernetes/post-deployment/supersetReporting/MSSQL/QM Reports
    
    #Campaign Reports
    Download the reports folder from kubernetes/post-deployment/supersetReporting/MySQL/Campaign-Reports
    
    #Survey Reports
    Download the reports folder from kubernetes/post-deployment/supersetReporting/MSSQL/Survey Reports
    
    
    Compress to Zip file then update the file on superset.
    
    
    Note: For MySQL open the MySQL folder insted of MSSQL

    The guide to importing the Report Package into Superset is here.

JavaScript errors detected

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

If this problem persists, please contact our support.