Document version: 228. Automatically generated.
This guide will allow you to upgrade SentiOne Automate platform on your managed Kubernetes environment. External services such as ElasticSearch and RabbitMQ are not covered by this guide.
We assume you're performing the upgrade using a Unix-based OS. Also, the following is required:
- Access to the Kubernetes cluster where SentiOne Automate is installed.
- Network access to SentiOne image repository (
harbor-vm-proxy.sentione.com). Please contact your SentiOne representative if you don't have your Kubernetes cluster IP address whitelisted yet.
- Helm installed on your OS.
- Target version number to upgrade, provided by the SentiOne DevOps Team.
- Dedicated Automate configuration repository has been cloned to local filesystem
CAPITAL_LETTERS_VARIABLE_NAME- fragment which should be replaced with actual values matching particular environment
AUTOMATE_CONFIG_REPO_PATH- Path to automate configuration repository (eg.
ENVIRONMENT_NAME- Environment name (eg.
$ cd AUTOMATE_CONFIG_REPO_PATH/ENVIRONMENT_NAME/external-services
Should be substituted with:
$ cd /home/user/automate-config/production/external-services
Upgrade process will require some downtime that depends on how many versions will the platform be upgraded by and other factors. Please contact your SentiOne account manager if you need to schedule support from our DevOps Team.
Upgrading SentiOne Automate boils down to:
- Backing up the application databases (PostgreSQL, ElasticSearch).
- Integrating latest changes into
values.yamlkept in Automate configuration repository). Make sure to follow Upgrade Tasks to keep track of them. If your platform deployment spans across multiple environments, you will need to apply those changes to each Helm custom values file.
- Upgrading the Helm release (includes pulling the latest Docker images of components)
- Rolling back if you need to return to the previous version
Repeat the following upgrade steps for each platform environment.
For each version you're upgrading, check Upgrade Tasks and update the custom values file.
If you're upgrading from 198 to 201, follow the upgrade tasks from the oldest to the latest version: 199 ➡️ 200 ➡️ 201.
You will find the values file in the repo-ext.sentione.com in the 'config' repository at the following location:
Example based on defaults
In case you have renamed your databases, make sure to provide their new names for backup.
pg_dump to back up all objects related to the database hosting the SentiOne Automate platform:
$ pg_dump -d chatbots-admin -U db_user -W -h dbhost.example.com > ./chatbots-admin-$(date '+%Y%m%d-%H%M%S').sql \ && pg_dump -d chatbots-analytics -U db_user -W -h dbhost.example.com > ./chatbots-analytics-$(date '+%Y%m%d-%H%M%S').sql \ && pg_dump -d chatbots-cron-orchestrator -U db_user -W -h dbhost.example.com > ./chatbots-cron-orchestrator-$(date '+%Y%m%d-%H%M%S').sql \ && pg_dump -d chatbots-dialog-manager -U db_user -W -h dbhost.example.com > ./chatbots-dialog-manager-$(date '+%Y%m%d-%H%M%S').sql \
A snapshot is required for a proper ElasticSearch backup. See Elastic Docs 6.8.23 - Snapshot And Restore for full documentation.
Issue following command
$ helm repo update
E.g. if you're upgrading from an earlier release to
$ helm upgrade --wait --debug '--timeout=30m' --namespace sentione \ -f AUTOMATE_CONFIG_REPO_PATH/ENVIRONMENT_NAME/kubernetes/helm/automate/values.yaml \ --version 199.0.1 \ automate sentione-hub/automate
helm upgradecommand has succeeded. You should see the following text:
Release "automate" has been upgraded. Happy Helming!
- All Deployments in the Automate platform Kubernetes namespace are running and ready.
In case you need to roll back to the previous release, follow the steps:
Scale down all Automate platform apps to 0:
$ kubectl scale deploy -n sentione --replicas=0 --all
psql to restore the
pg_dump that you've prepared in Prepare PostgreSQL dump. Replace
<date_here> with a proper timestamp.
$ psql -d chatbots-admin -U db_user -W -h dbhost.example.com < ./chatbots-admin-<date_here>.sql \ && psql -d chatbots-analytics -U db_user -W -h dbhost.example.com < ./chatbots-analytics-<date_here>.sql \ && psql -d chatbots-cron-orchestrator -U db_user -W -h dbhost.example.com < ./chatbots-cron-orchestrator-<date_here>.sql \ && psql -d chatbots-dialog-manager -U db_user -W -h dbhost.example.com < ./chatbots-dialog-manager-<date_here>.sql \
Similarly to Prepare ElasticSearch snapshot, follow Elastic Docs 6.8.23 - Snapshot And Restore - Restore to restore the ES snapshot you've prepared.
After restoring the databases, you can roll back the Helm release to the previously working version:
$ helm rollback automate --namespace sentione --version <PUT_PREVIOUS_VERSION_HERE>
Updated 5 days ago