Upgrade Guide CX5.5.0 to CX5.6.0

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

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. Update Helm repo

    helm repo update expertflow
    
  2. Clone the CX repository on the target server

    Bash
    # Create CX-5.6.0 directory from root
    mkdir CX-5.6.0
    # Navigate to CX-5.6.0
    cd CX-5.6.0
    # Clone the CX-5.6.0 branch of the cim-solution repository
    git clone -b CX-5.6.0 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cim/cim-solution.git $HOME/CX-5.6.0
    # Navigate to the current release /kubernetes
    cd <current-release>/kubernetes
    
  3. Update Application Gateway (APISIX)

    # Update the apisix-custom-values.yaml file with latest updates from 5.6.0 version,
    # make sure to save any customisation and add once the apisix-custom-values.yaml is updated.
    helm show values expertflow/apisix --version 5.6.0 > helm-values/apisix-custom-values.yaml
    helm upgrade --install --namespace ef-external --values helm-values/apisix-custom-values.yaml apisix expertflow/apisix --version 5.6.0
    
  4. Deploy the Core Helm chart

    # Copy the file
    Copy from CX-5.6.0/kubernetes/pre-deployment/conversation-manager/graphql/graphql-mongodb-rules.json to ./pre-deployment/conversation-manager/graphql/
    
    # Delete and recreate the conversation-manager-graphql-mongodb-rules ConfigMap
    kubectl delete configmap -n expertflow conversation-manager-graphql-mongodb-rules
    kubectl create configmap -n expertflow conversation-manager-graphql-mongodb-rules --from-file=pre-deployment/conversation-manager/graphql/graphql-mongodb-rules.json
    
    # Deploy the new chart version using the helm-values/ef-cx-custom-values.yaml 
    helm upgrade --install --namespace expertflow --create-namespace ef-cx --debug --values helm-values/ef-cx-custom-values.yaml expertflow/cx --version 5.6.0
    
    Note: Restart the conversation manager pod if it does not get restarted after the above cmd.
    
  5. Deploy the AgentDesk Helm chart

    # Copy the unified agent translation directory to the current release
    Copy from CX-5.6.0/kubernetes/pre-deployment/app-translations/unified-agent/i18n/ to ./pre-deployment/app-translations/unified-agent
    
    # Copy and run this script to bootstrap the translations
    Copy CX-5.6.0/kubernetes/scripts/upload_agent_desk_translations.sh to ./scripts/
    
    # Update FQDN and run script
    chmod +x scripts/upload_agent_desk_translations.sh
    ./scripts/upload_agent_desk_translations.sh
    
    # Deploy the new chart version using the helm-values/cx-agent-desk-custom-values.yaml 
    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 5.6.0
    
  6. Deploy the Channels Helm chart

    # Deploy the new chart version using the helm-values/cx-channels-custom-values.yaml 
    helm upgrade --install --namespace expertflow --set global.efCxReleaseName="ef-cx" --debug cx-channels --values helm-values/cx-channels-custom-values.yaml expertflow/channels --version 5.6.0
    
    # Change in channel configuration for on-prem MS Exchange connector:
    1. Go to Unified Admin, inside Channel Provider for MS Exchange, add the following new additional attribute
       "DEPLOYMENT-MODE"
    2. Go to the channel connector and set the new additional attribute value to the following
       DEPLOYMENT-MODE = OFFLINE
    
  7. Deploy the CiscoConnector Helm Chart

    1. Go through this Migration Guide for DB: Cisco Connector DB migration:

      # Deploy the new chart version using the helm-values/cx-ciscoConnector-custom-values.yaml 
      helm upgrade --install --set global.efCxReleaseName="ef-cx" cisco-connector --namespace expertflow --values helm-values/cx-ciscoConnector-custom-values.yaml expertflow/cisco-connector --version 5.6.0
      
  8. Update Voice Components using the following guide, and if the link uploader is not deployed, then use the fresh deployment guide.

  9. Deploy the Transflux Helm Chart

    git clone -b 5.6.0 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cim/transflux.git transflux
    
    cd transflux
    
    # Copy the following files to your current directory
      config/configurational_data_pipeline_config_template.yaml
      config/conversations_data_pipeline_config_template.yaml
      config/events_data_pipeline_config_template.yaml
      config/qm_data_pipeline_config_template.yaml
      config/wfm_queries_config_template.yaml
    # Delete the existing configmaps ‘ef-transflux-config-cm' and 'ef-transflux-dbt-schema-cm’ using the commands:
      kubectl -n expertflow delete configmap ef-transflux-config-cm
      kubectl -n expertflow delete configmap ef-transflux-dbt-schema-cm
    # Now re-create both the configmaps using the following commands from the transflux directory:
      kubectl -n expertflow create configmap ef-transflux-config-cm --from-file=config
      kubectl -n expertflow create configmap ef-transflux-dbt-schema-cm --from-file=dbt_schema
      
    # Re-deploy CX-Transflux
      helm upgrade --install --namespace expertflow   --set global.efCxReleaseName="ef-cx"  cx-transflux --debug --values helm-values/cx-transflux-custom-values.yaml  expertflow/transflux --version 5.6.0  
    
    # Now wait for a couple of minutes to load the Airflow UI. Once the UI is up, you will see the DAG named 'WFM_Queries_{your_tenant_name}'. 
    
  10. Deploy the WFM Helm Chart <Optional>

    SQL
    # Create the helm-values/ef-wfm-custom-values.yaml file.
    # Update the global variable 
      global:
        ingressRouter: "devops.ef.com"
    # Ensure the PostgreSQL configs are set if you’re using customised values for the DB
        - name: DB_USER
          value: "sa"
        - name: DB_PASSWORD
          value: "Expertflow123"
    # Deploy WFM using the updated helm-values/ef-wfm-custom-values.yaml  file
      helm upgrade --install --namespace expertflow --values helm-values/ef-wfm-custom-values.yaml wfm expertflow/WFM --version 5.6.0
    
    1. Metabase Report Deployment

      cd ~/CX-5.6.0/kubernetes/external/metabase-reports/metabase_reporting_update_tool
      python3 metabase_import.py https://<Metabase-FQDN>/metabase/api/ <admin-email> <admin-password> <db-display-name> <directory-path> "<Tenent-collection-name>"
      
      Example : python3 metabase_import.py https://abc.expertflow.com/metabase/api/ email@expertflow.com admin@123 TenantId WFM "TenantId" 
      
      

Configuration Guide for MS Online: MS Exchange Online Email Connector Setup Guide