Skip to main content
Skip table of contents

CX Upgrade Guide CX-4.4.9 to CX-4.4.10

This guide does not contain steps to change from Standalone MongoDB to MongoDB Replicaset.

Make sure to take the backup of MongoDB by using the following guide:

Mongo, PostgreSQL Backup/Restore Procedure for CX on Kubernetes ( manual procedure )

Please change the value of MONGO_HOST environment variable in initContainers of ef-conversation-manager-deployment.yaml, ef-routing-engine-deployment.yaml to that of the primary replica as mentioned in point 2.c

  1. Changes in ef-connection-env-configmap.yaml file

  • A new variable is added in ef-connection-env-configmap.yaml file.

    CODE
    MONGODB_REPLICASET:  "<REPLICASET_NAME>"
  • MONGODB_HOST configuration value format is changed for core components and specified in ef-connection-env-configmap.yaml. New format is: <HOST:PORT> Host is composed of pod-name.service-name, specify the connection string accordingly. For HA, add comma separated values as shown below.

    CODE
    "mongo-mongodb-0.mongo-mongodb-headless.ef-external.svc.cluster.local:27017,mongo-mongodb-1.mongo-mongodb-headless.ef-external.svc.cluster.local:27017,mongo-mongodb-2.mongo-mongodb-headless.ef-external.svc.cluster.local:27017"
  • MONGODB_PORT: "27017" variable is removed from the ef-connection-env-configmap.yaml file.

  • For Reporting connector the connection string is specified in the file cim-solution/kubernetes/pre-deployment/reportingConnector that is explained later in the guide.

  1. Changes in Deployment files:

    1. Add the following lines in following mentioned deployment files under containers -> env path along with other variables. Those Deployment files includes: ef-cim-customer-deployment.yaml , ef-unified-admin-deployment.yaml , ef-ccm-deployment.yaml, ef-bot-framework-deployment.yaml,ef-routing-engine-deployment.yaml,ef-state-events-logger-deployment.yaml, ef-historical-reports-deployment.yaml.

      CODE
      - name: MONGODB_REPLICASET
        valueFrom:
          configMapKeyRef:
            key: MONGODB_REPLICASET
            name: ef-connection-env-cm
    2. Remove MONGODB_PORT variable from the following mentioned deployment files under containers -> env path along with other variables. Those Deployment files includes: ef-cim-customer-deployment.yaml , ef-unified-admin-deployment.yaml , ef-ccm-deployment.yaml, ef-bot-framework-deployment.yaml,ef-routing-engine-deployment.yaml,ef-state-events-logger-deployment.yaml, ef-historical-reports-deployment.yaml,ef-agent-manager-deployment.yaml, ef-licence-manager-deployment.yaml, ef-realtime-reports-manager-deployment.yaml.

      CODE
      - name: MONGODB_PORT
        valueFrom:
          configMapKeyRef:
            key: MONGODB_PORT
            name: ef-connection-env-cm
    3. Change the value of MONGO_HOST environment variable in initContainers of ef-conversation-manager-deployment.yaml, ef-routing-engine-deployment.yaml.
      It needs to be changed to the primary node of the replica-set as shown below:

      CODE
      - name: MONGO_HOST
        value: "mongo-mongodb-2.mongo-mongodb-headless.ef-external.svc.cluster.local:27017"
  2. Update the image key of following components in their respective deployment files.

    CODE
    Cim-Customer:
    ef-cim-customer-deployment.yaml
    image: gitimages.expertflow.com/cim/cim-backend:4.4.10
    
    Unified-Admin:
    ef-unified-admin-deployment.yaml
    image: gitimages.expertflow.com/cim/unified-admin:4.4.10
    
    Customer-Channel-Manager:
    ef-ccm-deployment.yaml
    image: gitimages.expertflow.com/cim/customer-channel-manager:4.4.10
    
    Bot-Framework:
    ef-bot-framework-deployment.yaml
    image: gitimages.expertflow.com/cim/bot-framework:4.4.10
    
    Conversation-Manager:
    ef-conversation-manager-deployment.yaml
    image: gitimages.expertflow.com/cim/conversation-manager:4.4.10
    
    Routing-Engine:
    ef-routing-engine-deployment.yaml
    image: gitimages.expertflow.com/cim/media-routing-engine:4.4.10
    
    State-Events-Logger:
    ef-state-events-logger-deployment.yaml
    image: gitimages.expertflow.com/cim/state-events-logger:4.4.10
    
    Historical-Reports-Manager:
    ef-historical-reports-deployment.yaml
    image: gitimages.expertflow.com/cim/historical-reports-manager:4.4.10
  3. Restart all above deployments and configmap

    CODE
    # Navigate to the cim directory
    cd cim-solution/kubernetes/cim
    
    # Delete and Apply Config Map
    kubectl delete -f ConfigMaps/ef-connection-env-configmap.yaml
    kubectl apply -f ConfigMaps/ef-connection-env-configmap.yaml
    
    # Delete and Apply Deployments
    kubectl delete -f Deployments/ef-cim-customer-deployment.yaml -f Deployments/ef-unified-admin-deployment.yaml -f Deployments/ef-ccm-deployment.yaml -f Deployments/ef-bot-framework-deployment.yaml -f Deployments/ef-conversation-manager-deployment.yaml -f Deployments/ef-routing-engine-deployment.yaml -f Deployments/ef-state-events-logger-deployment.yaml -f Deployments/ef-historical-reports-deployment.yaml
    kubectl apply -f Deployments/ef-cim-customer-deployment.yaml -f Deployments/ef-unified-admin-deployment.yaml -f Deployments/ef-ccm-deployment.yaml -f Deployments/ef-bot-framework-deployment.yaml -f Deployments/ef-conversation-manager-deployment.yaml -f Deployments/ef-routing-engine-deployment.yaml -f Deployments/ef-state-events-logger-deployment.yaml -f Deployments/ef-historical-reports-deployment.yaml
    
  4. Update deployment of reporting connector

    CODE
    # Navigate to the reporting connector directory
    cd cim-solution/kubernetes/pre-deployment/reportingConnector
     
    # Delete existing deployment of reporting connector
    kubectl delete -f ef-reporting-connector-cron.yaml
    
    # Delete existing configmap of reporting connector
    kubectl delete configmap ef-reporting-connector-conf -n expertflow
    
    # Update reporting-connector.conf file 
    # MongoDB cluster configs should be updated as below:
    
    mongo_host1=mongo-mongodb-0.mongo-mongodb-headless.ef-external.svc.cluster.local
    mongo_port1=27017
    mongo_host2=mongo-mongodb-1.mongo-mongodb-headless.ef-external.svc.cluster.local
    mongo_port2=27017
    mongo_host3=mongo-mongodb-2.mongo-mongodb-headless.ef-external.svc.cluster.local
    mongo_port3=27017
    mongo_host4=mongo-mongodb-0.mongo-mongodb-headless.ef-external.svc.cluster.local
    mongo_port4=27017
    mongo_host5=mongo-mongodb-0.mongo-mongodb-headless.ef-external.svc.cluster.local
    mongo_port5=27017
    mongo_host6=mongo-mongodb-0.mongo-mongodb-headless.ef-external.svc.cluster.local
    mongo_port6=27017
    
    # Save the changes and recreate the configmap
    kubectl -n expertflow create configmap ef-reporting-connector-conf --from-file=reporting-connector.conf
    
    # Apply reporting connector cron job
    kubectl apply -f ef-reporting-connector-cron.yaml
JavaScript errors detected

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

If this problem persists, please contact our support.