Skip to main content
Skip table of contents

Upgrade Guide CX-4.6 to CX-4.7-not to public

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.7 directory from root
    mkdir CX-4.7
    # Navigate to CX-4.7
    cd CX-4.7
    # Clone the CX-4.7 branch of cim-solution repository
    git clone -b CX-4.7 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cim/cim-solution.git
    # Navigate to root(previous) directory
    cd ..
    # Navigate to the following folder of the existing release i.e. CX-4.6
    cd cim-solution/kubernetes
  2. Stop core Deployments

    CODE
    # Navigate to the following folder of the existing release i.e. CX-4.6
    cd cim-solution/kubernetes
    kubectl delete -f cim/Deployments
     
    # Stop ActiveMQ
    kubectl delete -f cim/StatefulSet/ef-amq-statefulset.yaml
    # Stop reporting connector
    kubectl delete -f pre-deployment/reportingConnector/ef-reporting-connector-cron.yaml -n expertflow
  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.7
    3) Apply ActiveMQ deployment 
      kubectl apply -f cim/StatefulSet/ef-amq-statefulset.yaml                      
  4. Update the ConfigMaps

    CODE
    # Update the Common eviroment Config
      1) kubectl delete -f cim/ConfigMaps/ef-common-environment.yaml
      2) Open cim/ConfigMaps/ef-common-environment.yaml
      3) Add following new environment variables
         IS_ENABLED_2FA: "false"
         CHANNEL_2FA: "app"
         TWILIO_SID: ""
         TWILIO_VERIFY_SID: ""
         TWILIO_AUTH_TOKEN: ""
         TOPIC_CONCURRENCY_MIN: "2"
         TOPIC_CONCURRENCY_MAX: "6"
    # Update the connection-enviroment Config
      1) kubectl delete -f cim/ConfigMaps/ef-connection-env-configmap.yaml
      2) Open cim/ConfigMaps/ef-connection-env-configmap.yaml
      3) Remove the following variable.
         MONGODB_PORT: "27017"
      4) Add following new environment variables     
         MONGODB_READ_PREFERENCE: "secondaryPreferred"
         MONGODB_REPLICASET: "expertflow"
         MONGODB_REPLICASET_ENABLED: "false"    
      5) update the following variable
         MONGODB_HOST: "mongo-mongodb.ef-external.svc.cluster.local:27017"
    # Update Unified-Agent app translations
      1) Copy Agent desk translation files 
      2) From CX-4.7/cim-solution/kubernetes/pre-deployment/app-translations/unified-agent/i18n 
         To pre-deployment/app-translations/unified-agent
      3) 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/  
    
    # Update the realtime-reporting-configmap
      1) kubectl delete -f cim/ConfigMaps/ef-realtime-reporting-configmap.yaml
      2) Open cim/ConfigMaps/ef-realtime-reporting-configmap.yaml
      3) Add following new environment variables
         UNIFIED_ADMIN_URL: http://ef-unified-admin-svc:3000
    
    # Update the media-routing-configmap
      1) kubectl delete -f cim/ConfigMaps/ef-routing-engine-configmap.yaml
      2) Open cim/ConfigMaps/ef-routing-engine-configmap.yaml
      3) Add following new environment variables
         IS_QUEUE_PRIORITY_ENABLED: "false"
    
    # Update the Agent manager configmap
      1) kubectl delete -f cim/ConfigMaps/ef-agent-manager-configmap.yaml
      2) Open cim/ConfigMaps/ef-agent-manager-configmap.yaml
      3) Add following new environment variables
         SOCKET_DISCONNECT_TIME: "10000"  
    
    # Update the Team announcement configmap
      1) kubectl delete -f cim/ConfigMaps/ef-team-announcement-configmap.yaml
      2) Open cim/ConfigMaps/ef-team-announcement-configmap.yaml
      3) Add following new environment variables
         UNIFIED_ADMIN_URL: http://ef-unified-admin-svc:3000   
    
    # Update the CCM configmap
      1) kubectl delete -f cim/ConfigMaps/ef-ccm-configmap.yaml
      2) Open cim/ConfigMaps/ef-ccm-configmap.yaml
      3) Add following new environment variables
         QUEUE_CONCURRENCY_MIN: "1"
         QUEUE_CONCURRENCY_MAX: "3"     
  5. Update the Core Deployments

Update the replica count for components as per your workload.

CODE
# update deployment
1) Copy deployment folder from CX-4.7 to current release
From CX-4.7/cim-solution/kubernetes/cim/Deployments 
To cim-solution/kubernetes/cim/Deployments
  1. Update reporting connector

    CODE
    # Update ef-reporting-connector-cron.yaml
      1) Replace ef-reporting-connector-cron.yaml file  
         Copy from CX-4.7/cim-solution/kubernetes/pre-deployment/reportingConnector/ef-reporting-connector-cron.yaml 
         to cim-solution/kubernetes/pre-deployment/reportingConnector
    # Update reporting-connector.conf     
      1) Replace reporting-connector.conf file  
         Copy from CX-4.7/cim-solution/kubernetes/pre-deployment/reportingConnector/reporting-connector.conf 
         to cim-solution/kubernetes/pre-deployment/reportingConnector     
  2. Start core Deployments

    CODE
    # Apply all ConfigMaps
    kubectl apply -f cim/ConfigMaps
    
    # Apply all deployments
    kubectl apply -f cim/Deployments
    
    # Apply reporting-connector cron job
    kubectl apply -f pre-deployment/reportingConnector/ef-reporting-connector-cron.yaml -n expertflow

Permission must be upgraded for migrating Keycloak Groups/Teams.

  1. Upgrade https://expertflow-docs.atlassian.net/l/cp/VPxEd0HL

  2. Guide for migrating Keycloak Groups/Teams to CX Teams https://expertflow-docs.atlassian.net/l/cp/0aRTcLkk

  3. Upgrade Grafana

Grafana Upgrade Guide
  1. Navigate to the current release cim-solution/kubernetes folder

    CODE
    cd cim-solution/kubernetes 

For the following step, only run the commands for your specific reporting database type. (MYSQL / MSSQL)

  1. Upgrade the Grafana Configs

    1. If you have MySQL

      1. Copy the Supervisor_Dashboard_CIM-mysql.json and Agent_Dashboard_CIM-mysql.json file from 4.7 folder to the
        current cim-solution/kubernetes/post-deployment/config/grafana/supervisor-dashboards folder

        CODE
        From CX-4.7/cim-solution/kubernetes/post-deployment/config/grafana/supervisor-dashboards/Supervisor_Dashboard_CIM-mysql.json
        To post-deployment/config/grafana/supervisor-dashboards/
        
        From CX-4.7/cim-solution/kubernetes/post-deployment/config/grafana/supervisor-dashboards/Agent_Dashboard_CIM-mysql.json
        To post-deployment/config/grafana/supervisor-dashboards/
      2. Delete dashboard ConfigMap

        CODE
        kubectl -n ef-external delete configmap ef-grafana-supervisor-dashboard-mysql
        kubectl -n ef-external delete configmap ef-grafana-agent-dashboard-mysql
      3. Create dashboard ConfigMap

        CODE
        kubectl create configmap ef-grafana-supervisor-dashboard-mysql -n ef-external --from-file=post-deployment/config/grafana/supervisor-dashboards/Supervisor_Dashboard_CIM-mysql.json
        kubectl create configmap ef-grafana-agent-dashboard-mysql -n ef-external --from-file=post-deployment/config/grafana/supervisor-dashboards/Agent_Dashboard_CIM-mysql.json
    2. If you have MSSQL

      1. Copy the Supervisor_Dashboard_CIM-mssql.json and Agent_Dashboard_CIM-mssql.json file from 4.7 folder to the current cim-solution/kubernetes/post-deployment/config/grafana/supervisor-dashboards folder

        CODE
        From CX-4.7/cim-solution/kubernetes/post-deployment/config/grafana/supervisor-dashboards/Supervisor_Dashboard_CIM-mssql.json
        To post-deployment/config/grafana/supervisor-dashboards/
        
        From CX-4.7/cim-solution/kubernetes/post-deployment/config/grafana/supervisor-dashboards/Agent_Dashboard_CIM-mssql.json
        To post-deployment/config/grafana/supervisor-dashboards/
      2. Delete dashboard ConfigMap

        CODE
        kubectl -n ef-external delete configmap ef-grafana-supervisor-dashboard-mssql
        kubectl -n ef-external delete configmap ef-grafana-agent-dashboard-mssql
      3. Create dashboard ConfigMap

        CODE
        kubectl create configmap ef-grafana-supervisor-dashboard-mssql -n ef-external --from-file=post-deployment/config/grafana/supervisor-dashboards/Supervisor_Dashboard_CIM-mssql.json
        kubectl create configmap ef-grafana-agent-dashboard-mssql -n ef-external --from-file=post-deployment/config/grafana/supervisor-dashboards/Agent_Dashboard_CIM-mssql.json
  2. Reinstall Grafana

    1. Uninstall Grafana

      CODE
      helm uninstall grafana -n ef-external
    2. Install Grafana

      CODE
      helm upgrade --install=true --wait=true --timeout=10m0s --debug --namespace=ef-external --values=external/bitnami/grafana/values.yaml grafana external/bitnami/grafana
JavaScript errors detected

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

If this problem persists, please contact our support.