Automation Suite
2023.10
false
Completing an upgrade - Automation Suite 2023.10
Banner background image
logo
Automation Suite on Linux Installation Guide
Last updated Feb 13, 2024

Completing an upgrade

Context

After performing an Automation Suite cluster upgrade, some changes are needed to ensure a new node joins the cluster correctly. To automate the changes, we recommend using the upgradeUiPathAS.sh script.

This page provides instructions on how to replace the Custom Script Extension (CSE) on the compute resources so that new nodes can be added to your cluster when upgrading to a new Automation Suite version.

The process described in the following sections downloads the scripts required to perform some minor modifications to the Azure resources as well as to validate some prerequisites. The scripts are found inside the <targetVersion> and Modules folders. If the process fails, you are asked whether you want to keep the files.
After ensuring that prerequisites are valid, the CustomScriptExtension objects are updated on all our compute resources so that newly added nodes use the Automation Suite <targetVersion>. Lastly, the files on the initial cluster nodes are overwritten, to also match the files from the <targetVersion>.

Preparation

Prerequisites

Make sure you meet the following requirements:

  • You must add the Managed Service Identity (MSI) associated with the deployment (named like <basename>-MSI) as a user assigned identity to all the scalesets/virtual machines in the deployment. To do this, go to Scaleset/virtual machine > Identity > User Assigned > Add. Newer versions of Automation Suite templates might already have this added.
  • You must grant the existing MSI rights to read/write/manage secrets in the deployed key vault (named like <basename>-VAULT). To do this, go to the keyvault, click Access Policies, then Add, select all Secret Operations, choose the MSI, then Add.
  • Make sure to review the cluster_config.json file and change any boolean values marked as string ("true"/"false") to actual boolean values (true/false). For example:
    • to enable zone resilience, use "zone_resilience": true.
    • to allow the installer to create the databases, use "sql.create_db": true.
  • Ensure your RHEL version for the Virtual Machine Scale Sets (Server, Agent, etc.) is updated and matches the version you are upgrading to.
  • If you upgrade from Automation Suite 2022.10 to Automation Suite 2023.4 or later, and Orchestrator is enabled on both the old and new versions, you must set the orchestrator.block_classic_executions flag to true in the cluster_config.json file. Using the flag shows that you agree with blocking classic folders executions. Not using the flag causes the upgrade operation to fail. This parameter is not required in new installations.
  • If you upgrade to Automation Suite 2023.10 or later, and Insights is enabled on both the old and new environments, you must set the insights.external_object_storage.bucket_name flag to the same bucket used for platform in the cluster_config.json file. Not using the flag causes the upgrade operation to fail. This parameter is not required in new installations.
  • If you upgrade to Automation Suite 2023.10 or later, make sure to fill in the following fields in the cluster_config.json if sql.create_db is set to true:
    sql.server_url = "<db_endpoint>"
    sql.port = "1433"
    sql.username = <SQL Username>
    sql.password = <SQL password>sql.server_url = "<db_endpoint>"
    sql.port = "1433"
    sql.username = <SQL Username>
    sql.password = <SQL password>
  • After the upgrade process, export the new cluster_config.json file contents to an Azure key vault secret named clusterConfig in the deployment key vault (for details, see the previous list item). Use the value of the FixedRKEAddress field as the IP of the Internal Load Balancer. To do this, run a command similar to the following:
    az keyvault secret set --name clusterConfig --vault-name "<vaultName>" --value "$(cat path/to/cluster_config.json)az keyvault secret set --name clusterConfig --vault-name "<vaultName>" --value "$(cat path/to/cluster_config.json)
  • On the machine running the upgrade script, you must be logged into Azure and set the context to the correct subscription. The account must have the Owner role on the resource group where the cluster was deployed.

Considerations and recommendations

Before starting the upgrade operation, make sure to take the following recommendations into consideration:

  • We strongly recommend updating to the latest RHEL OS version supported by Automation Suite. For details, see .
  • Before starting the upgrade operation, you can create two containers named logs and flags in the deployment storage account (named <basename>st). If you do not create them, the upgrade script can do that for you.
  • If the deployed server scalesets do not have a Ceph disk attached, the script creates one and attaches it to the server scaleset.
  • The upgrade process changes the VMSS model but does not apply it for older instances.
  • For details on the upgrade errors you might encounter, see and .

Execution

To successfully perform to upgrade to a new Automation Suite version, take the following steps:

  1. Download the upgradeUiPathAS.sh script from here.
  2. Navigate to the path where you have downloaded the script and run the following command: chmod +x ./upgradeUiPathAS.sh.
  3. Run the upgrade process in interactive or non-interactive mode in a Linux environment:
    • Option A: To run the process in an interactive mode, use the following command:

      sh upgradeUiPathAS.sh --targetVersion {ASversion}

      The script asks you to provide a series of parameters during the run. For details on the required parameters, see Deploying Automation Suite to Azure.

    • Option B: To run the process in a non-interactive mode, take the following steps:

      1. Create a <targetVersion> folder next to the downloaded script.
      2. Inside the <targetVersion> folder, create a file named paramValues.json with the following structure:
        { "param1":"value1", "param2":"value2" }.

        For details on the required parameters, see Deploying Automation Suite to Azure.

      3. Run the upgradeUiPathAS.sh script:

        sh upgradeUiPathAS.sh --targetVersion {ASversion} --uninteractive true

        Note: Make sure to replace {ASversion} with the Automation Suite version in the aforementioned commands. The Automation Suite version can differ from the Azure template version.

Parameters

You can find descriptions of the parameters needed to update to a specific Automation Suite version in the cluster_config.json file. You can find the cluster_config.json file at this link.
  • Context
  • Preparation
  • Prerequisites
  • Considerations and recommendations
  • Execution
  • Parameters
Support and Services icon
Get The Help You Need
UiPath Academy icon
Learning RPA - Automation Courses
UiPath Forum icon
UiPath Community Forum
Uipath Logo White
Trust and Security
© 2005-2024 UiPath. All rights reserved.