Breadcrumbs

Upgrade Guide CX4.10 to CX4.10.1

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

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

    helm repo update expertflow
    
  3. Change the directory to the current deployment of CX

    change directory to the following path in the current deployment
    cd CX-4.10/kubernetes
    
  4. Update permission in Keycloak

    1. Please create the following realm role (if not exist) in Keycloak in the targeted realm before importing the files mentioned below:

      • customer

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

      1. To enable API Authorisation, import this file: 4.10.1-authz-config.json

      2. If the Survey is deployed, import the corresponding 4.10.1-survey-authz.json

      3. If the Campaign is deployed, import its respective 4.10.1-campaign-authz.json

  5. Upgrade the apisix helm chart

    helm show values expertflow/apisix --version 4.10.1 > helm-values/apisix-custom-values.yaml 
    
    Update the apisix-custom-values.yaml file for below given parameters
      ingressRouter: "<FQDN>"
    
    helm upgrade --install --namespace ef-external --values helm-values/apisix-custom-values.yaml apisix  expertflow/apisix --version 4.10.1
    
  6. Update the Unified-Agent Translation ConfigMaps

    # Copy the unified agent translation directory to current release 
    1) Copy From CX-4.10.1/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/
    
  7. Update the Customer Widget Translation ConfigMaps

    # Copy the customer widget translation directory to current release
    1) Copy From CX-4.10.1/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/
    
  8. Update AgentDesk helm 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.1
    
  9. Update the Core helm chart

    # Update 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 4.10.1
    
  10. Update the Campaigns helm chart

    # Update helm-values/cx-campaigns-custom-values.yaml 
    # The following new environment variables are added in campaigns-backend and campaigns-studio, If you want to use default values for these new 
    environment variables, just upgrade to the new helm chart version or if you want to customise them, edit helm-values/cx-campaigns-custom-values.yaml 
    and add the variables under siteEnvVars with your customised value.
    
    Add the following variable under campaigns-backend siteEnvVars
          - name: IS_NODERED_AUTH_REQUIRED
            value: "true"
    
    Add the following variable under campaigns-studio siteEnvVars
          - name: CCM_URL
            value: http://{{ .Values.global.efCxReleaseName }}-ccm-svc.{{ .Release.Namespace }}.svc:8081
          - name: EFCX_PROXY
            value: 'https://{{ .Values.global.ingressRouter }}/campaign-studio'
    
    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.1
    
  11. Upgrade the Channels helm chart

    # Update helm-values/cx-channels-custom-values.yaml
    # The following new environment variables are added in linkedIn,If you want to use the default values for these new 
    environment variables, just upgrade to the new helm chart version or if you want to customise them, edit helm-values/cx-campaigns-custom-values.yaml 
    and add the variables under siteEnvVars with your customised value.
    Add following new env under linkedIn siteEnvVars
      - name: AUTO_SCHEDULER_STARTUP
            value: "true"
    
    Update the value of the following env 
      - name: linkedin.scheduler.fixed-rate
        value: "150"
    
    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.1
    
  12. Upgrade the QM helm chart

    helm show values expertflow/qm --version 4.10.1 > helm-values/cx-qm-custom-values.yaml
    
    Update the cx-qm-custom-values.yaml file for below given parameters
      ingressRouter: "devops.ef.com"
      
    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.1
    
  13. API Authorisation - Enablement/Developers Guide
    By default, API Authentication and Authorisation are disabled; you can enable them by following above mentioned guide.