Upgrade guide CX-4.5.2 to CX-4.5.3
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
Clone the CX repository on the target server
CODE# Create CX-4.5.3 directory from root mkdir CX-4.5.3 # Navigate to CX-4.5.3 cd CX-4.5.3 # Clone the CX-4.5.3 branch of cim-solution repository git clone -b CX-4.5.3 https://efcx:RecRpsuH34yqp56YRFUb@gitlab.expertflow.com/cim/cim-solution.git # Navigate to root(previous) directory cd ..
Stop all core components.
CODE# Navigate to the following folder of the existing release i.e. CX-4.5.2 cd cim-solution/kubernetes kubectl delete -f cim/Deployments 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 # Stop team-announcement cron job kubectl delete -f pre-deployment/team-announcement/ef-team-announcement-cronjob.yaml -n expertflow
Update the AMQ deployment.
CODE1) Open cim/StatefulSet/ef-amq-statefulset.yaml file. 2) Update AMQ Tag gitimages.expertflow.com/general/activemq-k8s:5.17.1-alpine-zulu-K8s-4.5.3-4.5.3-v2 3) Apply ActiveMQ deployment kubectl apply -f cim/StatefulSet/ef-amq-statefulset.yaml
Update the ConfigMaps
CODE# Update Common enviroment configmap 1) kubectl delete -f cim/ConfigMaps/ef-common-environment.yaml 2) open cim/ConfigMaps/ef-common-environment.yaml file. 3) Add following existing environment variables MASK_ATTRIBUTES_PATH: /sensitive.js CONVERSATION_SEARCH_WINDOW_HRS: "24" LOGGING_CONFIG: /logback/logback-spring.xml # Update ef-customer-widget-configmap.yaml 1) kubectl delete -f cim/ConfigMaps/ef-customer-widget-configmap.yaml 2) Open cim/ConfigMaps/ef-customer-widget-configmap.yaml file. 3) Add following new environment variables USERNAME_ENABLED: "true" # Update ef-bot-framework-configmap.yaml 1) kubectl delete -f cim/ConfigMaps/ef-bot-framework-configmap.yaml 2) Open cim/ConfigMaps/ef-bot-framework-configmap.yaml file. 3) Add following new environment variables MASKING_LAYOUT_CLASS: com.ef.botframework.commons.MaskingPatternLayout # Update kubernetes/cim/ConfigMaps/ef-ccm-configmap.yaml 1) kubectl delete -f cim/ConfigMaps/ef-ccm-configmap.yaml 2) Open kubernetes/cim/ConfigMaps/ef-ccm-configmap.yaml file. 3) Add following new environment variables MASKING_LAYOUT_CLASS: com.ef.ccm.utils.MaskingPatternLayout # Update kubernetes/cim/ConfigMaps/ef-conversation-manager-configmap.yaml 1) kubectl delete -f cim/ConfigMaps/ef-conversation-manager-configmap.yaml 2) Open kubernetes/cim/ConfigMaps/ef-conversation-manager-configmap.yaml file. 3) Add following new environment variables MASKING_LAYOUT_CLASS: com.ef.conversationmanager.utility.MaskingPatternLayout # Update kubernetes/cim/ConfigMaps/ef-routing-engine-configmap.yaml 1) kubectl delete -f cim/ConfigMaps/ef-routing-engine-configmap.yaml 2) Open kubernetes/cim/ConfigMaps/ef-routing-engine-configmap.yaml file. 3) Add following new environment variables MASKING_LAYOUT_CLASS: com.ef.mediaroutingengine.global.utilities.MaskingPatternLayout # Update kubernetes/cim/ConfigMaps/ef-360-connector-configmap.yaml 1) kubectl delete -f cim/ConfigMaps/ef-360-connector-configmap.yaml 2) Open kubernetes/cim/ConfigMaps/ef-360-connector-configmap.yaml file. 3) Add following new environment variables MASKING_LAYOUT_CLASS: com.ef.connector360.utility.MaskingPatternLayout # Update kubernetes/cim/ConfigMaps/ef-facebook-connector-configmap.yaml 1) kubectl delete -f cim/ConfigMaps/ef-facebook-connector-configmap.yaml 2) Open kubernetes/cim/ConfigMaps/ef-facebook-connector-configmap.yaml file. 3) Add following new environment variables MASKING_LAYOUT_CLASS: com.ef.connector.facebookconnector.utility.MaskingPatternLayout # Update kubernetes/cim/ConfigMaps/ef-instagram-connector-configmap.yaml 1) kubectl delete -f cim/ConfigMaps/ef-instagram-connector-configmap.yaml 2) Open kubernetes/cim/ConfigMaps/ef-instagram-connector-configmap.yaml file. 3) Add following new environment variables MASKING_LAYOUT_CLASS: com.ef.connector.instagramconnector.utils.MaskingPatternLayout # Update kubernetes/cim/ConfigMaps/ef-smpp-connector-configmap.yaml 1) kubectl delete -f cim/ConfigMaps/ef-smpp-connector-configmap.yaml 2) Open kubernetes/cim/ConfigMaps/ef-smpp-connector-configmap.yaml file. 3) Add following new environment variables MASKING_LAYOUT_CLASS: com.ef.sms.utils.MaskingPatternLayout # Update kubernetes/cim/ConfigMaps/ef-telegram-connector-configmap.yaml 1) kubectl delete -f cim/ConfigMaps/ef-telegram-connector-configmap.yaml 2) Open kubernetes/cim/ConfigMaps/ef-telegram-connector-configmap.yaml file. 3) Add following new environment variables MASKING_LAYOUT_CLASS: com.ef.spring.util.MaskingPatternLayout # Update kubernetes/cim/ConfigMaps/ef-twilio-connector-configmap.yaml 1) kubectl delete -f cim/ConfigMaps/ef-twilio-connector-configmap.yaml 2) Open kubernetes/cim/ConfigMaps/ef-twilio-connector-configmap.yaml file. 3) Add following new environment variables MASKING_LAYOUT_CLASS: com.ef.twilio.connector.util.MaskingPatternLayout # Update app translations 1) Copy Agent desk translation files From CX-4.5.3/cim-solution/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 kubernetes/cim/ConfigMaps/ef-viber-connector-configmap.yaml 1) kubectl delete -f cim/ConfigMaps/ef-viber-connector-configmap.yaml 2) Open kubernetes/cim/ConfigMaps/ef-viber-connector-configmap.yaml file. 3) Add following new environment variables MASKING_LAYOUT_CLASS: com.ef.connector.utils.MaskingPatternLayout
Add the logback configmap file
CODE1) Copy logback directory from CX-4.5.3/cim-solution/kubernetes/pre-deployment/logback to current release's kubernetes/pre-deployment 2) Create configMap kubectl apply -f pre-deployment/logback/ kubectl -n expertflow create configmap ef-logback-cm --from-file=pre-deployment/logback/logback-spring.xml
Update Conversation controller training
CODE# Update the controller training # Update rasa-tag 1) Open external/rasa-x/values-small.yaml 2) Update rasa tag from "4.5" to "4.5.3" app: tag: "4.5.3" 3) Upgrade rasa using following command 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 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-utils-cm 2) Copy actions and utils folder Copy CX-4.5.3/cim-solution/kubernetes/pre-deployment/conversation-Controller/actions into current release cim-solution/kubernetes/pre-deployment/conversation-Controller Copy CX-4.5.3/cim-solution/kubernetes/pre-deployment/conversation-Controller/utils 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
Update following core deployments.
CODE# update deployment 1) Copy deployment folder Copy CX-4.5.3/cim-solution/kubernetes/cim/Deployments into current release cim-solution/kubernetes/cim/Deployments
Update the replica count for components as per your workload.
Run the MySQL/MSSQL update script on top of the current historical database
CODE# Run the script as per your configured DB # MySQL Script CX-4.5.3/cim-solution/kubernetes/pre-deployment/reportingConnector/dbScripts/dbupdate/historical_reports_db_update_script_MYSQL.sql.sql Or # MSSQL CX-4.5.3/cim-solution/kubernetes/pre-deployment/reportingConnector/dbScripts/dbupdate/historical_reports_db_update_script_MSSQL.sql.sql
Update reporting connector
CODE# Update ef-reporting-connector-cron.yaml 1) Replace ef-reporting-connector-cron.yaml file Copy from CX-4.5.3/cim-solution/kubernetes/pre-deployment/reportingConnector/ef-reporting-connector-cron.yaml to cim-solution/kubernetes/pre-deployment/reportingConnector
Start all core components.
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 # Apply team-announcement cron job kubectl apply -f pre-deployment/team-announcement/ef-team-announcement-cronjob.yaml -n expertflow
Upgrade guide for reports
Upgrade guide for CX Voice.