Upgrade Guide CX5.8.0 to CX5.9.0

Before upgrading, ensure that the system is idle, i.e, all agents are logged out of 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.9.0 directory from root
    mkdir CX-5.9.0
    # Navigate to CX-5.9.0
    cd CX-5.9.0
    # Clone the CX-5.9.0 branch of the cim-solution repository
    git clone -b CX-5.9.0 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cim/cim-solution.git $HOME/CX-5.9.0
    # Navigate to the current release /kubernetes
    cd <current-release>/kubernetes
    
  3. Deploy the AgentDesk Helm chart

    # Copy the unified agent translation directory to the current release
      Copy from 5.9.0/kubernetes/pre-deployment/app-translations/unified-agent/i18n/   To ./pre-deployment/app-translations/unified-agent
      
    # Run script from <kubernetes> diectory, to update the translations
      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.9.0
    
  4. Deploy the Campaigns Helm chart

    # Deploy the new chart version using the helm-values/cx-campaigns-custom-values.yaml
    
      helm upgrade --install --namespace expertflow   --set global.efCxReleaseName="ef-cx"  cx-campaigns --debug --values helm-values/cx-campaigns-custom-values.yaml expertflow/campaigns --version 5.9.0
    
  5. Deploy the Core Helm chart

    # 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.9.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.9.0
    
  7. Deploy the MTT Helm chart

    # Deploy the new chart version using the helm-values/mtt-single-custom-values.yaml
    
      helm upgrade --install --namespace <tenant-ns> --debug  <tenant-id> --values helm-values/mtt-single-custom-values.yaml  expertflow/MTT-single --version 5.9.0
    
  8. Deploy the Transflux Helm Chart

    # Clone CX-Transflux Repository
      git clone -b 5.9.0 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cim/transflux.git 5.9.0
    # Copy the following files to your current directory
      Copy from 5.9.0/config/gold_15_minutes_queries_config_template.yaml  
      To <current-transflux-directory>/config/
      Copy from 5.9.0/config/campaigns_data_pipeline_config_template.yaml  
      To <current-transflux-directory>/config/
      Copy from 5.9.0/config/state_event_logger_data_pipeline_config_template.yaml 
      To <current-transflux-directory>/config/
    
    # Delete the existing ConfigMaps ‘ef-transflux-config-cm'
      kubectl -n expertflow delete configmap ef-transflux-config-cm
      
    # Now re-create the ConfigMaps using the following commands from the transflux directory:
      kubectl -n expertflow create configmap ef-transflux-config-cm --from-file=config
    
    # 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.9.0
    
  9. Deploy the CiscoConnector Helm Chart

    # 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.9.0
    

    DB Migration Guide for Cisco-Connector.

  10. Deploy the WFM Helm Chart <Optional>
    First migrate the PostgreSQL DB using this guide.

    # 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.9.0
    
  11. Voice-related changes:
    CX Voice and Outbound Dialer Upgrade guide.

  12. Metabase reports

    # Clone the repo
      git clone -b 5.9.0  https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cim/cim-solution.git 5.9.0
      
    # Copy the Reports Folder
      Copy 5.9.0/kubernetes/external/metabase-reports/metabase_reporting_update_tool/metabase.py  
      To <current-active-directory>/external/metabase-reports/metabase_reporting_update_tool/
      Copy 5.9.0/kubernetes/external/metabase-reports/metabase_reporting_update_tool/non_voice_campaigns/  
      To <current-active-directory>/external/metabase-reports/metabase_reporting_update_tool/
    
    # Run the following command to import the new reports
      python3 metabase_import.py https://<Metabase-FQDN>/metabase/api/ <admin-email> <admin-password> <metabase-db-display-name> non_voice_campaigns <collection-name-on-metabase>
    

Configurations

Compliance regulation weekend window segregation:
We updated the compliance object in Mongo. Use /post-deployment/compliance_US.json as the baseline to update existing profiles.

The following objects are added to the profile:

    "saturdayWindow": [
      {
        "start": "09:00",
        "end": "21:00",
        "enabled": true
      }
    ],
    "sundayWindow": [
      {
        "start": "09:00",
        "end": "21:00",
        "enabled": true
      }
    ],

If "enabled": true, the day will be enabled, and the time rule applies; if "enabled": false, then it will be considered off/disabled