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
# 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.
# 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.
1) 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
# 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
1) 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
# 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.
# 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
# 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
# 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.
# 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.