- Overview
- Requirements
- Installation
- Post-installation
- Migration and upgrade
- Upgrading Automation Suite on EKS/AKS
- Step 1: Moving the Identity organization data from standalone to Automation Suite
- Step 2: Restoring the standalone product database
- Step 3: Backing up the platform database in Automation Suite
- Step 4: Merging organizations in Automation Suite
- Step 5: Updating the migrated product connection strings
- Step 6: Migrating standalone Orchestrator
- Step 7: Migrating standalone Insights
- Step 8: Deleting the default tenant
- B) Single tenant migration
- Migrating from Automation Suite on Linux to Automation Suite on EKS/AKS
- Monitoring and alerting
- Cluster administration
- Product-specific configuration
- Troubleshooting
- The backup setup does not work due to a failure to connect to Azure Government
- Pods in the uipath namespace stuck when enabling custom node taints
- Unable to launch Automation Hub and Apps with proxy setup
- Pods cannot communicate with FQDN in a proxy environment
- Test Automation SQL connection string is ignored
Step 1: Moving the Identity organization data from standalone to Automation Suite
The standalone and Automation Suite versions must be the same, or else the migration will fail due to database schema conflict issues. If you experience a compatibility failure, make sure to upgrade your standalone and Automation Suite installations to the latest version.
Before you begin, take the following into consideration:
-
Make sure you download and install .NET Runtime 6.0 before running UiPath.OrganizationMigrationApp. For details, see Migration prerequisites.
-
To download UiPath.OrganizationMigrationApp, see Migration prerequisites.
\
before special characters.
This section describes some common operations that you may need to perform using the Uipath.Organization.Migration.App tool. For details on the parameters that the Uipath.Organization.Migration.App tool supports, see Migration tool parameters.
-
To move the Identity data of all tenants from standalone to Automation Suite, extract the file and run the following command:
./UiPath.OrganizationMigrationApp migrate -m -i '<identity database connection of the standalone product>' -j '<identity database connection of Automation Suite>' -o '<orchestrator database connection of the standalone product>' -s '<list of tenant IDs of the standalone product>' -d '<list of organization IDs of Automation Suite>' -p '<URL of Automation Suite>' -c '<OMS S2S client secret>'
./UiPath.OrganizationMigrationApp migrate -m -i '<identity database connection of the standalone product>' -j '<identity database connection of Automation Suite>' -o '<orchestrator database connection of the standalone product>' -s '<list of tenant IDs of the standalone product>' -d '<list of organization IDs of Automation Suite>' -p '<URL of Automation Suite>' -c '<OMS S2S client secret>'Note:-
Make sure to add
TrustServerCertificate=True
for all SQL connections in the input. -
The Automation Suite tenant name is the same as the original tenant name in standalone Orchestrator. This is the tenant to which you will migrate the standalone products.
-
To migrate multiple standalone tenants to a single Automation Suite organization, provide the value of the
-d
parameter by repeating the target organization ID for the same number of times as the number of standalone tenants. In the following example, the migration result is an Automation Suite organization that includes three migrated tenants:-s 'tenantId1, tenantId2, tenantId3' -d 'orgId1, orgId1, orgId1'
-s 'tenantId1, tenantId2, tenantId3' -d 'orgId1, orgId1, orgId1'
-
-
If the operation failed in the middle, roll back the change by running the following command:
./UiPath.OrganizationMigrationApp migrate -m -r -i '<identity database connection of the standalone product>' -j '<identity database connection of Automation Suite>' -o '<orchestrator database connection of the standalone product>' -s '<list of tenant IDs of the standalone product>' -d '<list of organization IDs of Automation Suite>' -p '<URL of Automation Suite>' -c '<OMS S2S client secret>'
./UiPath.OrganizationMigrationApp migrate -m -r -i '<identity database connection of the standalone product>' -j '<identity database connection of Automation Suite>' -o '<orchestrator database connection of the standalone product>' -s '<list of tenant IDs of the standalone product>' -d '<list of organization IDs of Automation Suite>' -p '<URL of Automation Suite>' -c '<OMS S2S client secret>' -
Fix the issue according to the error message and try to move the Identity data of all tenants from standalone to Automation Suite again. For example, see the following error messages and what they mean:
-
The following error message means that the tenant is already created and the program would skip tenant creation. You do not need to do anything.
Call to API Service failed for Method=POST, StatusCode=Conflict on url=https://ci-asaks5379291.devtest-ascloudgen-ea.infra.uipath-dev.com/organization/api/organization/0dad76a9-7d44-447a-84d6-ce713a5324d8/tenants Http Response Content:{"StatusCode":409,"StatusDescription":"Conflict","ErrorCode":1002,"Message":"Found duplicated tenant with requested Id b26f486f-a585-4420-83fd-f2741385b3c8 under organization 0dad76a9-7d44-447a-84d6-ce713a5324d8 (1002)"}
Call to API Service failed for Method=POST, StatusCode=Conflict on url=https://ci-asaks5379291.devtest-ascloudgen-ea.infra.uipath-dev.com/organization/api/organization/0dad76a9-7d44-447a-84d6-ce713a5324d8/tenants Http Response Content:{"StatusCode":409,"StatusDescription":"Conflict","ErrorCode":1002,"Message":"Found duplicated tenant with requested Id b26f486f-a585-4420-83fd-f2741385b3c8 under organization 0dad76a9-7d44-447a-84d6-ce713a5324d8 (1002)"} -
The following error message means that the Automation Suite URL is not valid. Make sure to provide the correct Automation Suite URL.
Unhandled exception. UiPath.IdentityServer.PartitionMerge.PartitionMergeException: Can not create tenant ID with target organiztion ID 0dad76a9-7d44-447a-84d6-ce713a5324d8, tenant name tenant_0dad76a9, platform url https://ci-asaks5379291.devtest-ascloud.infra.uipath-dev.com. ---> System.Net.Http.HttpRequestException: No such host is known. (ci-asaks5379291.devtest-ascloud.infra.uipath-dev.com:443) ---> System.Net.Sockets.SocketException (11001): No such host is known.
Unhandled exception. UiPath.IdentityServer.PartitionMerge.PartitionMergeException: Can not create tenant ID with target organiztion ID 0dad76a9-7d44-447a-84d6-ce713a5324d8, tenant name tenant_0dad76a9, platform url https://ci-asaks5379291.devtest-ascloud.infra.uipath-dev.com. ---> System.Net.Http.HttpRequestException: No such host is known. (ci-asaks5379291.devtest-ascloud.infra.uipath-dev.com:443) ---> System.Net.Sockets.SocketException (11001): No such host is known. -
The following error message means that the OMS S2S client secret is not valid. Make sure to provide the correct OMS S2S client secret.
Call to API Service failed for Method=POST, StatusCode=BadRequest on url=https://ci-asaks5379291.devtest-ascloudgen-ea.infra.uipath-dev.com/identity_/connect/token Http Response Content:{"error":"invalid_client"}
Call to API Service failed for Method=POST, StatusCode=BadRequest on url=https://ci-asaks5379291.devtest-ascloudgen-ea.infra.uipath-dev.com/identity_/connect/token Http Response Content:{"error":"invalid_client"} -
The following error message means that there is already a tenant in the Automation Suite organization with the same tenant name as the standalone tenant name. To resolve the conflict, you must change the tenant name for the tenant in the Automation Suite organization.
Source tenant ID: 38f03b05-3aab-422c-844b-bf3668fa54ee, target organization ID: f7d80050-9654-4f44-8a34-3a9e46380dc9, confilict tenant name: test_tenan1 Source tenant ID: b35020b1-ee9f-4026-abd1-bb721b148e24, target organization ID: f7d80050-9654-4f44-8a34-3a9e46380dc9, confilict tenant name: test_tenant2 Tenant name conflicts detected. You need to rename the tenant to be a different name than conflict tenant name in target organization to unblock tenant creation.
Source tenant ID: 38f03b05-3aab-422c-844b-bf3668fa54ee, target organization ID: f7d80050-9654-4f44-8a34-3a9e46380dc9, confilict tenant name: test_tenan1 Source tenant ID: b35020b1-ee9f-4026-abd1-bb721b148e24, target organization ID: f7d80050-9654-4f44-8a34-3a9e46380dc9, confilict tenant name: test_tenant2 Tenant name conflicts detected. You need to rename the tenant to be a different name than conflict tenant name in target organization to unblock tenant creation.
-
Before you begin, take the following aspects into consideration:
-
You must download and install .NET Runtime 6.0 before running UiPath.OrganizationMigrationApp. For details, see Migration prerequisites.
-
To download UiPath.OrganizationMigrationApp, see Migration prerequisites.
$
with \`$
. For more guidelines on how to escape special characters in connection string passwords, refer to Special character escape rules for connection string passwords.
This section describes some common operations that you may need to perform using the Uipath.Organization.Migration.App tool. For details on the parameters that the Uipath.Organization.Migration.App tool supports, see Migration tool parameters.
-
To move the Identity data of all tenants from standalone to Automation Suite, extract the file and run the following command.Note:
-
Make sure to add
TrustServerCertificate=True
for both source and destination SQL connection inputs. -
The Automation Suite tenant name is the same as the original tenant name in standalone Orchestrator. This is the tenant to which you will migrate the standalone products.
-
To migrate multiple standalone tenants to a single Automation Suite organization, provide the value of the
-d
parameter by repeating the target organization ID for the same number of times as the number of standalone tenants. In the following example, the migration result is an Automation Suite organization that includes three migrated tenants:-s 'tenantId1, tenantId2, tenantId3' -d 'orgId1, orgId1, orgId1'
-s 'tenantId1, tenantId2, tenantId3' -d 'orgId1, orgId1, orgId1'
./UiPath.OrganizationMigrationApp migrate -m -i "<identity database connection of the standalone product>" -j "<identity database connection of Automation Suite>" -o "<orchestrator database connection of the standalone product>" -s "<list of tenant IDs of the standalone product>" -d "<list of organization IDs of Automation Suite>" -p "<URL of Automation Suite>" -c "<OMS S2S client secret>"
./UiPath.OrganizationMigrationApp migrate -m -i "<identity database connection of the standalone product>" -j "<identity database connection of Automation Suite>" -o "<orchestrator database connection of the standalone product>" -s "<list of tenant IDs of the standalone product>" -d "<list of organization IDs of Automation Suite>" -p "<URL of Automation Suite>" -c "<OMS S2S client secret>" -
-
If the operation failed in the middle, roll back the change by running the following command:
./UiPath.OrganizationMigrationApp migrate -m -r -i "<identity database connection of the standalone product>" -j "<identity database connection of Automation Suite>" -o "<orchestrator database connection of the standalone product>" -s "<list of tenant IDs of the standalone product>" -d "<list of organization IDs of Automation Suite>" -p "<URL of Automation Suite>" -c "<OMS S2S client secret>"
./UiPath.OrganizationMigrationApp migrate -m -r -i "<identity database connection of the standalone product>" -j "<identity database connection of Automation Suite>" -o "<orchestrator database connection of the standalone product>" -s "<list of tenant IDs of the standalone product>" -d "<list of organization IDs of Automation Suite>" -p "<URL of Automation Suite>" -c "<OMS S2S client secret>" -
Fix the issue based on the error message and try to move the Identity data of all tenants from standalone to Automation Suite again. For example, see the following error messages and what they mean:
-
The following error message means that the tenant is already created and the program would skip tenant creation. You do not need to do anything.
Call to API Service failed for Method=POST, StatusCode=Conflict on url=https://ci-asaks5379291.devtest-ascloudgen-ea.infra.uipath-dev.com/organization/api/organization/0dad76a9-7d44-447a-84d6-ce713a5324d8/tenants Http Response Content:{"StatusCode":409,"StatusDescription":"Conflict","ErrorCode":1002,"Message":"Found duplicated tenant with requested Id b26f486f-a585-4420-83fd-f2741385b3c8 under organization 0dad76a9-7d44-447a-84d6-ce713a5324d8 (1002)"}
Call to API Service failed for Method=POST, StatusCode=Conflict on url=https://ci-asaks5379291.devtest-ascloudgen-ea.infra.uipath-dev.com/organization/api/organization/0dad76a9-7d44-447a-84d6-ce713a5324d8/tenants Http Response Content:{"StatusCode":409,"StatusDescription":"Conflict","ErrorCode":1002,"Message":"Found duplicated tenant with requested Id b26f486f-a585-4420-83fd-f2741385b3c8 under organization 0dad76a9-7d44-447a-84d6-ce713a5324d8 (1002)"} -
The following error message means that the Automation Suite URL is not valid. Make sure to provide the correct Automation Suite URL.
Unhandled exception. UiPath.IdentityServer.PartitionMerge.PartitionMergeException: Can not create tenant ID with target organiztion ID 0dad76a9-7d44-447a-84d6-ce713a5324d8, tenant name tenant_0dad76a9, platform url https://ci-asaks5379291.devtest-ascloud.infra.uipath-dev.com. ---> System.Net.Http.HttpRequestException: No such host is known. (ci-asaks5379291.devtest-ascloud.infra.uipath-dev.com:443) ---> System.Net.Sockets.SocketException (11001): No such host is known.
Unhandled exception. UiPath.IdentityServer.PartitionMerge.PartitionMergeException: Can not create tenant ID with target organiztion ID 0dad76a9-7d44-447a-84d6-ce713a5324d8, tenant name tenant_0dad76a9, platform url https://ci-asaks5379291.devtest-ascloud.infra.uipath-dev.com. ---> System.Net.Http.HttpRequestException: No such host is known. (ci-asaks5379291.devtest-ascloud.infra.uipath-dev.com:443) ---> System.Net.Sockets.SocketException (11001): No such host is known. -
The following error message means that the OMS S2S client secret is not valid. Make sure to provide the correct OMS S2S client secret.
Call to API Service failed for Method=POST, StatusCode=BadRequest on url=https://ci-asaks5379291.devtest-ascloudgen-ea.infra.uipath-dev.com/identity_/connect/token Http Response Content:{"error":"invalid_client"}
Call to API Service failed for Method=POST, StatusCode=BadRequest on url=https://ci-asaks5379291.devtest-ascloudgen-ea.infra.uipath-dev.com/identity_/connect/token Http Response Content:{"error":"invalid_client"} -
The following error message means that there is already a tenant in the Automation Suite organization with the same tenant name as the standalone tenant name. To resolve the conflict, you must change the tenant name for the tenant in the Automation Suite organization.
Source tenant ID: 38f03b05-3aab-422c-844b-bf3668fa54ee, target organization ID: f7d80050-9654-4f44-8a34-3a9e46380dc9, confilict tenant name: test_tenan1 Source tenant ID: b35020b1-ee9f-4026-abd1-bb721b148e24, target organization ID: f7d80050-9654-4f44-8a34-3a9e46380dc9, confilict tenant name: test_tenant2 Tenant name conflicts detected. You need to rename the tenant to be a different name than conflict tenant name in target organization to unblock tenant creation.
Source tenant ID: 38f03b05-3aab-422c-844b-bf3668fa54ee, target organization ID: f7d80050-9654-4f44-8a34-3a9e46380dc9, confilict tenant name: test_tenan1 Source tenant ID: b35020b1-ee9f-4026-abd1-bb721b148e24, target organization ID: f7d80050-9654-4f44-8a34-3a9e46380dc9, confilict tenant name: test_tenant2 Tenant name conflicts detected. You need to rename the tenant to be a different name than conflict tenant name in target organization to unblock tenant creation.
-
The following table describes the parameters that the Uipath.Organization.Migration.App tool supports. You can use these parameters on Linux and Windows.
Parameter name |
Short name |
Description |
---|---|---|
Identity database connection of the standalone product |
|
The Identity database connection of the standalone product. If Identity and Orchestrator share the same database, then use the connection string of that database. |
Identity database connection of Automation Suite |
| The Identity database connection of Automation Suite. |
Orchestrator database connection of the standalone product |
| The Orchestrator database connection of the standalone product. If Identity and Orchestrator share the same database, then use the connection string of that database. |
List of organization IDs of the standalone product | s |
The list of organization IDs for the standalone product to merge. You must use the following format:
orgId1,orgId2,...,orgId5 .
The size of the organization ID list for both the standalone product and Automation Suite must be the same. To get a list of organization IDs for the standalone product, run the following command on the standalone database and use
GlobalId with the related partition / organization name on the restored database:
|
List of organization IDs of Automation Suite | d |
The list of organization IDs for Automation Suite. You must use the following format:
orgId1,orgId2,...,orgId5 .
The size of the organization ID list for both the standalone product and Automation Suite must be the same. To get a list of organization IDs for Automation Suite, run the following command on the
AutomationSuite_Platform database on the Automation Suite SQL Sever:
|
Rollback |
| The parameter used to roll back a change. |
URL of Automation Suite |
|
The URL of Automation Suite. For example,
https://ci-asaks5380983.devtest-ascloudgen-ea.infra.uipath-dev.com/ |
OMS S2S client secret |
|
The client secret used to call the OMS API to create the tenant. To get the OMS S2S client secret from the Kubernetes secret, run the following command:
|