Skip to main content
Skip table of contents

Upgrade Guide CX-4.5.7 to CX-4.6

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.6 directory from root
    mkdir CX-4.6
    # Navigate to CX-4.6
    cd CX-4.6
    # Clone the CX-4.6 branch of cim-solution repository
    git clone -b CX-4.6 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.7
    cd cim-solution/kubernetes
    kubectl delete -f cim/Deployments
    kubectl delete -f cim/ConfigMaps
    kubectl delete -f cim/StatefulSet/ef-amq-statefulset.yaml
  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:6.0.0-alpine-zulu-K8s--4.6-v2
    3) Apply ActiveMQ deployment 
      kubectl apply -f cim/StatefulSet/ef-amq-statefulset.yaml                     
  4. Update the ConfigMaps.

    CODE
      # Update unified admin Configmap
      1) Open kubernetes/cim/ConfigMaps/ef-unified-admin-configmap.yaml  file.
      2) Add following new environment variables and Replace <FQDN> with your FQDN for Expertflow CX 
         SURVEY_NODERED_URL: https://<FQDN>/survey-studio
         SURVEY_API_URL: https://<FQDN>/survey-backend
         CAMPAIGN_NODERED_URL: https://<FQDN>/campaign-studio
         CAMPAIGN_API_URL: https://<FQDN>/campaigns
      
       
       # Update file Engine URL in following component`s configmaps.
       
         FILE_ENGINE_URL: http://ef-file-engine-svc:8080
      
       1) kubernetes/cim/ConfigMaps/ef-360-connector-configmap.yaml     
       2) kubernetes/cim/ConfigMaps/ef-bot-framework-configmap.yaml
       3) kubernetes/cim/ConfigMaps/ef-facebook-connector-configmap.yaml 
       4) kubernetes/cim/ConfigMaps/ef-instagram-connector-configmap.yaml
       5) kubernetes/cim/ConfigMaps/ef-telegram-connector-configmap.yaml
       6) kubernetes/cim/ConfigMaps/ef-twilio-connector-configmap.yaml
       7) kubernetes/cim/ConfigMaps/ef-twitter-connector-configmap.yaml
       8) kubernetes/cim/ConfigMaps/ef-viber-connector-configmap.yaml
      
      # Update File engine Configmap
      1) Open kubernetes/cim/ConfigMaps/ef-file-engine-configmap.yaml  file.
      2) Update following environment variables
         USESSL: "false"
      # Update state event logger Configmap
      1) Open kubernetes/cim/ConfigMaps/ef-state-events-logger-configmap.yam  file.
      2) add the following enviroment varibles.
         BATCH_TIMER_IN_SECONDS: "5"
         MAX_IDLE_CYCLES: "10"
      # Update Routing Engine configmap
      1) Open kubernetes/cim/ConfigMaps/ef-routing-engine-configmap.yaml file.
      2) add the following enviroment varibles.
         IS_QUEUE_PRIORITY_ENABLED: "false"
      
  5. Update Conversation Controller training

    CODE
     # 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-pycache-cm 
          kubectl -n expertflow delete configmap ef-conversation-controller-actions-utils-cm
      2) Copy actions folder  
          Copy CX-4.6/cim-solution/kubernetes/pre-deployment/conversation-Controller/actions 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
          kubectl -n expertflow create configmap ef-conversation-controller-actions-pycache-cm --from-file=pre-deployment/conversation-Controller/__pycache__
  6. Update following core deployments.

Update the replica count for components as per your workload.

CODE
# update deployment
1) Copy deployment folder

Copy CX-4.6/cim-solution/kubernetes/cim/Deployments into current release 
cim-solution/kubernetes/cim/Deployments
  1. Update following Services

    CODE
     # Update File engine Service
      1) kubectl delete -f kubernetes/cim/Services/ef-file-engine-service.yaml  
      2) Open kubernetes/cim/Services/ef-file-engine-service.yaml  file.
      3) update the annotation with http
         annotations:
           traefik.ingress.kubernetes.io/service.serversscheme: http
         
      4) change the port and targetPort to 8080
         ports:
         - name: ef-file-engine-svc-8080
           port: 8080
           targetPort: https-fi-m-8080
      5) kubectl apply -f kubernetes/cim/Services/ef-file-engine-service.yaml       
  2. Update following Ingress

    CODE
     FOR RKE
     
     # Update File engine Ingress
      1) kubectl delete -f kubernetes/cim/Ingresses/nginx/ef-file-engine-Ingress.yaml  
      2) Open kubernetes/cim/Ingresses/nginx/ef-file-engine-Ingress.yaml  file.
      2) Remove the following lines.
         nginx.ingress.kubernetes.io/backend-protocol: HTTPS
         nginx.ingress.kubernetes.io/proxy-body-size: 20m
         nginx.ingress.kubernetes.io/proxy-connect-timeout: 600s
         nginx.ingress.kubernetes.io/proxy-read-timeout: 600s
         nginx.ingress.kubernetes.io/proxy-send-timeout: 600s
      3) Add the following Annotation
         annotations:
           nginx.ingress.kubernetes.io/proxy-body-size: 8m
      4) change the port 
         port:                
           number: 8080
      5) kubectl apply -f kubernetes/cim/Ingresses/nginx/ef-file-engine-Ingress.yaml 
       
    
      FOR K3s
    
     # Update File engine Ingress
      1) kubectl delete -f kubernetes/cim/Ingresses/traefik/ef-file-engine-Ingress.yaml
      2) Open kubernetes/cim/Ingresses/traefik/ef-file-engine-Ingress.yaml  file.
      3) change the port 
         port:                
           number: 8080
      4) kubectl apply -f kubernetes/cim/Ingresses/traefik/ef-file-engine-Ingress.yaml     
  3. Start all Deployment.

    CODE
    # Apply all deployments
    kubectl apply -f cim/Deployments
    kubectl apply -f cim/ConfigMaps
  4. Update the report

Configuration Guide Update Reports on Superset 2.0 - Expertflow CX - Expertflow CX

survey section is optional

  1. Survey Deployment

    CODE
    1) Copy cx-surveys folder
    
    Copy CX-4.6/cim-solution/kubernetes/cx-surveys into current release 
    cim-solution/kubernetes/

    Deployment guide for Survey

campaigns section is optional

  1. Campaigns Deployment

    CODE
    1) Copy cx-surveys folder
    
    Copy CX-4.6/cim-solution/kubernetes/cx-surveys into current release 
    cim-solution/kubernetes/

Deployment guide for Campaigns

  1. Voice Connector Upgrade guide

JavaScript errors detected

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

If this problem persists, please contact our support.