- Overview
- Requirements
- Installation
- Prerequisite checks
- Downloading the installation packages
- uipathctl cluster
- uipathctl cluster maintenance
- uipathctl cluster maintenance disable
- uipathctl cluster maintenance enable
- uipathctl cluster maintenance is-enabled
- uipathctl cluster migration
- uipathctl cluster migration export
- uipathctl cluster migration import
- uipathctl cluster migration run
- uipathctl cluster upgrade
- uipathctl config
- uipathctl config add-host-admin
- uipathctl config additional-ca-certificates
- uipathctl config additional-ca-certificates get
- uipathctl config additional-ca-certificates update
- uipathctl config alerts
- uipathctl config alerts add-email
- uipathctl config alerts remove-email
- uipathctl config alerts update-email
- uipathctl config argocd
- uipathctl config argocd ca-certificates
- uipathctl config argocd ca-certificates get
- uipathctl config argocd ca-certificates update
- uipathctl config argocd generate-dex-config
- uipathctl config argocd generate-rbac
- uipathctl config argocd registry
- uipathctl config argocd registry get
- uipathctl config argocd registry update
- uipathctl config enable-basic-auth
- uipathctl config orchestrator
- uipathctl config orchestrator get-config
- uipathctl config orchestrator update-config
- uipathctl config saml-certificates get
- uipathctl config saml-certificates rotate
- uipathctl config saml-certificates update
- uipathctl config tls-certificates
- uipathctl config tls-certificates get
- uipathctl config tls-certificates update
- uipathctl config token-signing-certificates
- uipathctl config token-signing-certificates get
- uipathctl config token-signing-certificates rotate
- uipathctl config token-signing-certificates update
- uipathctl health
- uipathctl health bundle
- uipathctl health check
- uipathctl health diagnose
- uipathctl health test
- uipathctl manifest
- uipathctl manifest apply
- uipathctl manifest diff
- uipathctl manifest get
- uipathctl manifest get-revision
- uipathctl manifest list-applications
- uipathctl manifest list-revisions
- uipathctl manifest render
- uipathctl prereq
- uipathctl prereq create
- uipathctl prereq run
- uipathctl resource
- uipathctl resource report
- uipathctl snapshot
- uipathctl snapshot backup
- uipathctl snapshot backup create
- uipathctl snapshot backup disable
- uipathctl snapshot backup enable
- uipathctl snapshot delete
- uipathctl snapshot list
- uipathctl snapshot restore
- uipathctl snapshot restore create
- uipathctl snapshot restore delete
- uipathctl snapshot restore history
- uipathctl snapshot restore logs
- uipathctl version
- 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
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.
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.
The UiPath.OrganizationMigrationApp tool supports the following parameters:
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:
|
Here are some common operations you might need to perform:
-
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 organization 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 organization 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 addTrustServerCertificate=True
for all SQL connections in the input. -
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 organization 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 organization 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"}
-
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.
$
with \`$
. For more guidelines on how to escape special characters in connection string passwords, refer to Special character escape rules for connection string passwords.
Here are some common operations you might need to perform:
-
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../UiPath.OrganizationMigrationApp.exe migrate -a -m -s "<identity DB connection of MSI>" -d "<dentity DB connection of Automation Suite>"
./UiPath.OrganizationMigrationApp.exe migrate -a -m -s "<identity DB connection of MSI>" -d "<dentity DB connection of Automation Suite>" -
If the operation failed in the middle, roll back the change by running the following command:
./UiPath.OrganizationMigrationApp.exe migrate -a -m -r -s "<identity DB connection of MSI>" -d "<dentity DB connection of Automation Suite>"
./UiPath.OrganizationMigrationApp.exe migrate -a -m -r -s "<identity DB connection of MSI>" -d "<dentity DB connection of Automation Suite>" -
Fix the issue based on the error message and try to move the Identity data of all tenants from standalone to Automation Suite again.
-
After running the previous command, a new tenant named
tenant_xxxxxxxx
is created, wherexxxxxxxx
are random characters. This is the tenant to which you will migrate the standalone products.