Upgrading to v5.2
This section discusses how you can upgrade from AC v4.6, v4.7, v4.7.1, or Adeptia Automate v5.1 to v5.2.
| As v5.2 requires you to implement the upgraded RabbitMQ, any data in queued or running state during the upgrade will be lost. |
|---|
Pre-upgrade configurations
Step 1 — Perform the following pre-upgrade tasks
-
If you are using MySQL DB, take its backup, and then upgrade its version to v8.4.
If you are on v4.6 with MySQL 8.0 and want to keep your existing environment intact while performing the upgrade process on a different cluster, follow the steps below:
• Provision a new MySQL 8.0 instance and create a namespace for the new environment on the Kubernetes cluster.
• Clone the backend DB and log DB from the existing MySQL 8.0 instance to the new instance.
• Clone all PVs/PVCs to new persistent volumes.
• Upgrade the new MySQL instance from 8.0 to 8.4.
• Update thevalues.yamlfile to point to the new DB host and the cloned PVCs.
• Install/upgrade using the 5.2.4 Helm chart in the new environment.
By following this approach, your original v4.6 deployment and the old MySQL 8.0 instance will remain intact throughout the process, serving as a rollback target until v5.2.4 is fully validated. -
Take a backup of the
cacertsfile present in the/shared/truststorefolder. -
Ensure that no Process Flows or Templates/Automations are in queued or running state.
-
Deactivate the dedicated deployments (if any).
-
Update the license by following the steps given below:
- Obtain the new license JAR file for v5.2 from Adeptia.
- Navigate to the
/shared/licensedirectory where the existing license file is located. - Rename the existing license file to
license_old.jar. - Place the new license file in the
/shared/licensedirectory. - Rename the new license file to
license.jar.
-
Scale down the following microservice deployments:
api-publisher-gatewayeventlistenerruntime
-
If you have set the
provisioningModetostaticin your existing environment. This is required because Adeptia Automate v5.2 uses an upgraded RabbitMQ.- Clean up the existing RabbitMQ installation before upgrading.
- Scale down the RabbitMQ StatefulSet.
- Delete RabbitMQ PVCs.
- Delete RabbitMQ PVs.
- Recreate RabbitMQ PVs. These steps are required the Adeptia Automate v5.2 uses an upgraded RabbitMQ.
- Create three Redis PVs (This step is required only when your existing environment does not have Redis deployed in it.)
- Clean up the existing RabbitMQ installation before upgrading.
-
If you previously performed this upgrade, carried out any CRUD operations in the upgraded version before rolling back, and are now upgrading again, run the following query in the database.
PL/SQL
UPDATE AU_RULE
SET au_business_rule_id = NULL
WHERE au_business_rule_id = ''
OR (
au_business_rule_id IS NOT NULL
AND au_business_rule_id NOT IN (
SELECT au_id
FROM AU_BUSINESS_RULE
)
);
Step 2 — Uninstall the existing RabbitMQ Operator (If already deployed in existing environment)
Code
helm list -n <Existing RabbitMQ Operator namespace>
Code
helm uninstall <Release name> -n <Existing RabbitMQ Operator namespace>
Step 3 — Install the new RabbitMQ Cluster Operator
Install the new RabbitMQ Cluster Operator required for the upgraded RabbitMQ deployment. For installation steps, see Installing the RabbitMQ Cluster Operator
Step 4 — Update the values.yaml file
-
Go to the Adeptia Automate ArtifcatHUB page for Adeptia Automate v5.2. https://artifacthub.io/packages/helm/adeptia-automate/adeptia-connect/5.2.0
-
Click DEFAULT VALUES.
-
On the Default values screen, click the
(download) icon to download the global
values.yamlfile for Adeptia Automate v5.2. -
In the global
values.yaml, update the following configurations:- Image Pull Secret
- Database credentials
- Docker image URLs as per the repository (applicable if you are using a private repository to host the Adeptia Docker images)
-
Ensure that the values for the following variables are set as mentioned in the table below: | Variable | Section in values.yaml | Value | | --- | --- | --- | |
EXECUTE_STATIC_JOB|global > static|true| |EXECUTE_MIGRATION_JOB|global > migration|true| -
Ensure that the values for the following variables under the
global > cleanupsection of thevalues.yamlfile are set to true to delete the existing RabbitMQ resources before the upgrade.Ensure that there are no messages in running or queued state before proceeding.
| Variable | Description |
|---|---|
EXECUTE_CLEANUP_JOB | Set to true to enable the cleanup job. |
DELETE_RABBITMQ_STATEFULSET | Set to true to remove the existing RabbitMQ StatefulSet. |
DELETE_RABBITMQ_PVC | Set to true to remove the existing RabbitMQ Persistent Volume Claims. |
DELETE_RABBITMQ_Cluster | Set to true to remove the existing RabbitMQ Cluster resources. |
DELETE_RABBITMQ_CONFIG_SECRET | Set to true to remove the existing RabbitMQ configuration secret. |
-
In the following sections of the
values.yamlfile, set the username and password for enabling authentication to download heap dumps. To authenticate using these credentials, ensure that the createparameter in these sections is set to true:global > webappGateway > customActuatorSecretsglobal > apigateway > customActuatorSecretsIf you do not want to specify credentials for enabling authentication to download heap dumps, setcreatetofalseand provide your secret name in thesecretNameparameter in the above sections. Refer to the table below for details: | Parameter | Description | | --- | --- | |create| Determines whether the Helm chart creates a Secret in the target namespace. Set totrue(default) for Helm to create the Secret from the username and password you provide. Set tofalseif you want the pods to reference an existing Secret created outside Helm — for example, by HashiCorp Vault, External Secrets Operator, a CI/CD pipeline, or a platform-managed Kubernetes Secret. | |secretName| The name of the Kubernetes Secret that stores the credentials. Pods refer to this Secret for authentication. |8. Do the following configurations for Mapping Agent:
- Set the LLM provider.
| Parameter | values.yaml path | Accepted values |
|---|---|---|
| LLM Provider | global > acagent > llm > provider | • azure_openai• openai• anthropic• ollama |
-
Enter the LLM provider credentials.
Set the following secrets under global > acagent > secretValues based on your chosen LLM provider.
Provider Required Secrets Azure OpenAI
•azureOpenAiApiKey
•azureOpenAiEndpoint
•azureOpenAiDeploymentNameOpenAI
•openAiApiKey
•openAiBaseUrl
•openAiModelAnthropic
•anthropicApiKey
•anthropicModelOllama
•ollamaBaseUrl
•ollamaModel -
Set the required environment variables.
Set the following variables under global > acagent > environmentVariables:
Variable Accepted values Description AI_AGENT_BACKEND_URLUser-defined Connection string for the backend database.
Use the format:mssql+pyodbc://<host>:<port>/<Backend Database Name>?driver=ODBC+Driver+17+for+SQL+ServerAUTH_TYPE
•jwt
•api-keyAuthentication method used by the Mapping Agent. -
Ensure that all the remaining settings in the
values.yamlfile, except those discussed in this guide, remain as per the previous configuration.
Step 5 — Configure RabbitMQ
Configure the RabbitMQ settings in the values.yaml file. For details, see Configuring RabbitMQ Parameters.
Upgrading to v5.2
- Add the Helm repo:
Code
helm repo add <Repo name> https://adeptia.github.io/adeptia-automate-helm-package/charts/
- Update the application Helm repository:
Code
helm repo update
- Upgrade the application:
Code
helm upgrade -i <Release name> <Repo name>/adeptia-connect --version 5.2.0 -f <Path of the values.yaml> -n <Namespace>
Post-upgrade steps
Follow the post-upgrade steps given below:
- Delete the
AdeptiaAIModelfile by following the steps below:- Scale down the AIMap microservice deployment.
- Navigate to the
shared/AIMapdirectory to locate theAdeptiaAIModelfile. - Delete the
AdeptiaAIModelfile. - Scale up the AIMap microservice deployment.
- Scale up the microservice deployments that were scaled down before the upgrade.
- Import the certificates that were manually added to
cacertsbefore the upgrade. - Restart all microservices.
- Reactivate the dedicated deployments that were deactivated before the upgrade.