Upgrade Guide CX4.9.4 to CX4.10
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.
Clone the CX repository on the target server
CODE# Create CX-4.10 directory from root mkdir CX-4.10 # Navigate to CX-4.10 cd CX-4.10 # Clone the 4.10 branch of cim-solution repository git clone -b CX-4.10 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cim/cim-solution.git $HOME/CX-4.10 # Navigate to root(previous) directory cd ..
Update helm repo
CODEhelm repo update expertflow
Upgrade the MongoDB version using the following guide
Upgrade the Redis version using the following guide
Change the directory to the current deployment of CX
CODEchange directory to the following path in the current deployment cd CX-4.9.4/kubernetes
Update permission in Keycloak
Please create the following realm roles(if not exist) before importing the files mentioned below:
conversation-studio-admin
evaluator
quality-manager
Import the following permission files under
Clients --> cim --> Authorization --> Settings
If the Survey is deployed, import the corresponding surveys-authz-config-4.10.json
If the Campaign is deployed, import its respective campaigns-authz-config-4.10.json
Update the transflux helm chart
Upgrade Guide for CX-Data PlatformCODE# Update the helm-values/cx-transflux-custom-values.yaml as per the custom configuration strategy mentioned above and deploy 4.10.0 chart helm upgrade --install --namespace expertflow --set global.efCxReleaseName="ef-cx" cx-transflux --debug --values helm-values/cx-transflux-custom-values.yaml expertflow/transflux --version 4.10.0
Make sure to execute the following pipelines before proceeding with the rest of the upgrade. The
Start-Time
of these pipelines must be the same, as you upgraded to 4.9.x version.Routing_Engine_mRD_Batch_Migration_4.10
Routing_Engine_mRD_no_Batch_Migration_4.10
If you can’t recall the Upgrade time/date for CX4.9, then you can use this query to get the date when this faulty data comes into the Mongo CX DB. If it returns nothing, then execution of the 1st Batch pipelines is not required.
Query:use db state-events-logger_cx_db;
db.agentStateChangeEvents.find(
{ "data.agentPresence.agentMrdStates.mrd._id": ObjectId("6305de07166ba1099d11w889") },
{ timestamp: 1 } // projection
).sort({ timestamp: 1 }) // sorting
Update the APISIX by following this guide
Copy the ActiveMQ TLS
CODECopy From CX-4.10/kubernetes/pre-deployment/static-tls/activemq-tls.yaml to /pre-deployment/static-tls #Apply the secret kubectl apply -f pre-deployment/static-tls/activemq-tls.yaml #Copy the secret to expertflow namespace kubectl get secret activemq-tls -n ef-external -o yaml | sed 's/namespace: ef-external/namespace: expertflow/' | kubectl create -f -
Update the ActiveMQ chart
CODE# Update the helm-values/ef-activemq-custom-values.yaml as per the custom configuration strategy mentioned above and deploy the 4.10.0 chart helm upgrade --install=true --namespace=ef-external --values=helm-values/ef-activemq-custom-values.yaml activemq expertflow/activemq --version 4.10.0
Update the Unified-Agent Translation ConfigMaps
CODE# Copy the unified agent translation directory to current release 1) Copy From CX-4.10/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/
Update the canned message ConfigMaps
CODE# Copy the canned message directory to current release 1) Copy From CX-4.10/kubernetes/pre-deployment/app-translations/unified-agent/canned-messages/canned-messages.json To pre-deployment/app-translations/unified-agent/canned-messages 2) Delete and Create the ConfigMap kubectl delete cm ef-canned-messages-cm -n expertflow kubectl -n expertflow create configmap ef-canned-messages-cm --from-file=pre-deployment/app-translations/unified-agent/canned-messages
Update the customer widget Translation ConfigMaps
CODE# Copy the customer widget translation directory to current release 1) Copy From CX-4.10/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/
Update the supervisor dashboard ConfigMaps & update the agent desk helm chart
Update the Campaigns helm chart
CODE# Update helm-values/cx-campaigns-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart 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.0 Make sure to assign the role conversation-studio-admin to the Keycloak user admin. If you want to create an explicit user for campaigns, update the user in the campaigns siteEnvVars
Update the survey helm chart
CODE# Update helm-values/cx-surveys-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart helm upgrade --install --namespace expertflow --set global.efCxReleaseName="ef-cx" cx-surveys --debug --values helm-values/cx-surveys-custom-values.yaml expertflow/surveys --version 4.10.0 Make sure to assign the role conversation-studio-admin to the Keycloak user admin. If you want to create an explicit user for surveys, update the user in the surveys siteEnvVars
Update the Channel helm chart
CODE# Update helm-values/cx-channels-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart 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.0
Set up the Vault
Clone the values file to update the parameters requiredCODEhelm show values expertflow/vault --version 0.28.0 > helm-values/ef-vault-custom-values.yaml helm upgrade --install --namespace vault --create-namespace vault --debug --values helm-values/ef-vault-custom-values.yaml expertflow/vault --version 0.28.0 # Copy from CX-4.10/kubernetes/pre-deployment/conversation-manager to pre-deployment
Use the following vault configuration guide
Update the Core helm chart
Note: Previously clamav (File Scanning Service) was running with service name ‘cx-clamav' in ‘ef-external’ namespace. It’s name is moved from cx-clamav to clamav. In case of upgrade, you need to ensure that the name of clamav service is same in File Engine config map variable CLAMSCAN_HOST value is same as the service name of clamav (You can check that using command k get svc -n ef-external)
In CX4.10, the conversation controller has been replaced by Conversation-Studio, which is part of the CX Core helm chart. All the custom trainings are managed by Conversation-Studio now.Delete the existing conversation controller training files
CODEkubectl -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
Uninstall the CX chart
CODEhelm uninstall -n expertflow ef-cx
Create the following new configmaps
CODE#Apply the graphql schema files #Copy from CX-4.10/kubernetes/pre-deployment/conversation-manager to cim-solution/kubernetes/pre-deployment kubectl create configmap -n expertflow conversation-manager-graphql-schemas --from-file=pre-deployment/conversation-manager/graphql/schemas #Apply the mongodb rules file kubectl create configmap -n expertflow conversation-manager-graphql-mongodb-rules --from-file=pre-deployment/conversation-manager/graphql/graphql-mongodb-rules.json
- CODE
# Update helm-values/ef-cx-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart helm upgrade --install --namespace expertflow --create-namespace ef-cx --debug --values helm-values/ef-cx-custom-values.yaml expertflow/cx --version 4.10.0
Conversation Studio (Control Flow) Deployment and Configuration Guide
Update the Reporting Connector conf file
CODE1) Edit kubernetes/pre-deployment/reportingConnector/reporting-connector.conf #update following browser language browser_language=en-US 2) kubectl -n expertflow delete configmap ef-reporting-connector-conf-cm 3) kubectl -n expertflow create configmap ef-reporting-connector-conf-cm --from-file=pre-deployment/reportingConnector/reporting-connector.conf
Update the Reporting helm chart
CODE# Update helm-values/cx-reporting-scheduler-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart helm upgrade --install --namespace expertflow --set global.efCxReleaseName="ef-cx" cx-reporting --debug --values helm-values/cx-reporting-scheduler-custom-values.yaml expertflow/reporting --version 4.10.0
Set up the CiscoSyncService helm chart
CODE# Update helm-values/cx-ciscosyncservice-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart helm upgrade --install --namespace expertflow --set global.efCxReleaseName="ef-cx" cisco-sync-service --values helm-values/cx-ciscosyncservice-custom-values.yaml expertflow/cisco-sync-service --version 4.10.0
Update the Middleware helm chart
CODE# Update helm-values/cx-middleware-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart helm upgrade --install --namespace expertflow --set global.efCxReleaseName="ef-cx" eleveo-middleware --values helm-values/cx-middleware-custom-values.yaml expertflow/eleveo-middleware --version 4.10.0
Update the Middleware Cron job helm chart
CODE#Update helm-values/cx-middleware-cronjob-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart helm upgrade --install --namespace expertflow --set global.efCxReleaseName="ef-cx" middleware-cronjob --debug --values helm-values/cx-middleware-cronjob-custom-values.yaml expertflow/middleware-cronjob --version 4.10.0
Update the QM helm chart
CODE#Update helm-values/cx-qm-custom-values.yaml as per the custom configuration strategy mentioned above, and deploy the 4.10.0 chart 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.0
Update the Rasa-x helm chart
CODEupdate the image tag external/rasa-x/values-small.yaml tag: 4.10 helm upgrade --install=true --wait=true --timeout=10m0s --debug rasa-x --namespace rasa-x --values external/rasa-x/values-small.yaml external/rasa-x
Update Superset Reports
CODE#For Standard Reports: Download the reports folder from kubernetes/post-deployment/supersetReporting/MSSQL/all reports #QM Reports Download the reports folder from kubernetes/post-deployment/supersetReporting/MSSQL/QM Reports #Campaign Reports Download the reports folder from kubernetes/post-deployment/supersetReporting/MySQL/Campaign-Reports #Survey Reports Download the reports folder from kubernetes/post-deployment/supersetReporting/MSSQL/Survey Reports Compress to Zip file then update the file on superset. Note: For MySQL open the MySQL folder insted of MSSQL
The guide to importing the Report Package into Superset is here.