- 概述
- 要求
- 安装
- 安装后
- 迁移和升级
- 监控和警示
- 集群管理
- 特定于产品的配置
- 故障排除
步骤 1:将身份组织数据从独立移动到 Automation Suite
独立版本和 Automation Suite 版本必须相同,否则迁移将由于数据库架构冲突问题而失败。 如果遇到兼容性故障,请确保将独立安装和 Automation Suite 安装升级到最新版本。
在 Linux 上运行迁移工具
开始之前,请考虑以下事项:
- 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.
请务必遵循所选 Shell 工具的一般转义说明。例如,在 Bash 中,您必须在特殊字符前添加 \。
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.
-
要将所有租户的身份数据从独立移动到 Automation Suite ,请提取文件并运行以下命令:
./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>'备注:-
确保为输入中的所有 SQL 连接添加
TrustServerCertificate=True。 -
Automation Suite 租户名称与独立 Orchestrator 中的原始租户名称相同。 这是迁移独立产品时的目标租户。
-
如果您将一个独立租户迁移到所有租户的 Automation Suite 组织,则可针对所有迁移运行一次命令。但是,如果您将多个独立租户迁移到一个 Automation Suite 组织,则您必须单独为每个租户运行该命令,因为您可能需要解决租户之间的用户冲突。以下示例显示了如何单独为每个租户运行命令:
./UiPath.OrganizationMigrationApp merge -i '<identity database connection of Automation Suite>' -o '<restored orchestrator DB in Automation Suite connection string>' -s 'tenant1' -d 'orgId1' ./UiPath.OrganizationMigrationApp merge -i '<identity database connection of Automation Suite>' -o '<restored orchestrator DB in Automation Suite connection string>' -s 'tenant2' -d 'orgId1' ./UiPath.OrganizationMigrationApp merge -i '<identity database connection of Automation Suite>' -o '<restored orchestrator DB in Automation Suite connection string>' -s 'tenant3' -d 'orgId1'./UiPath.OrganizationMigrationApp merge -i '<identity database connection of Automation Suite>' -o '<restored orchestrator DB in Automation Suite connection string>' -s 'tenant1' -d 'orgId1' ./UiPath.OrganizationMigrationApp merge -i '<identity database connection of Automation Suite>' -o '<restored orchestrator DB in Automation Suite connection string>' -s 'tenant2' -d 'orgId1' ./UiPath.OrganizationMigrationApp merge -i '<identity database connection of Automation Suite>' -o '<restored orchestrator DB in Automation Suite connection string>' -s 'tenant3' -d 'orgId1'For instructions on how to address user conflicts when migrating multiple standalone tenants to a single Automation Suite organization, see Solving user conflicts.
-
-
如果操作在中间失败,请通过运行以下命令回滚更改:
./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>' -
根据错误消息修复问题,并再次尝试将所有租户的身份数据从独立移动到 Automation Suite。例如,请参阅以下错误消息及其含义:
-
以下错误消息表示租户已创建,程序将跳过租户创建过程。您不需要执行任何操作。
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)"} -
以下错误消息表示 Automation Suite URL 无效。请确保提供正确的 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. -
以下错误消息表示 OMS S2S 客户端密码无效。请确保提供正确的 OMS S2S 客户端密码。
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"} -
以下错误消息表示 Automation Suite 组织中已经有一个租户的租户名称与独立租户名称相同。 要解决冲突,您必须更改 Automation Suite 组织中租户的租户名称。
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.
-
在 Windows 上运行迁移工具
开始之前,请考虑以下方面:
- 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.
To successfully run the UiPath.OrganizationMigrationApp tool, you must escape your SQL password if it contains special characters. For example, replace every instance of $ 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.
-
要将所有租户的身份数据从独立移动到 Automation Suite ,请提取文件并运行以下命令。
备注:-
确保为源和目标 SQL 连接输入添加
TrustServerCertificate=True。 -
Automation Suite 租户名称与独立 Orchestrator 中的原始租户名称相同。 这是迁移独立产品时的目标租户。
-
如果您将一个独立租户迁移到所有租户的 Automation Suite 组织,则可针对所有迁移运行一次命令。但是,如果您将多个独立租户迁移到一个 Automation Suite 组织,则您必须单独为每个租户运行该命令,因为您可能需要解决租户之间的用户冲突。以下示例显示了如何单独为每个租户运行命令:
./UiPath.OrganizationMigrationApp merge -i '<identity database connection of Automation Suite>' -o '<restored orchestrator DB in Automation Suite connection string>' -s 'tenant1' -d 'orgId1' ./UiPath.OrganizationMigrationApp merge -i '<identity database connection of Automation Suite>' -o '<restored orchestrator DB in Automation Suite connection string>' -s 'tenant2' -d 'orgId1' ./UiPath.OrganizationMigrationApp merge -i '<identity database connection of Automation Suite>' -o '<restored orchestrator DB in Automation Suite connection string>' -s 'tenant3' -d 'orgId1'./UiPath.OrganizationMigrationApp merge -i '<identity database connection of Automation Suite>' -o '<restored orchestrator DB in Automation Suite connection string>' -s 'tenant1' -d 'orgId1' ./UiPath.OrganizationMigrationApp merge -i '<identity database connection of Automation Suite>' -o '<restored orchestrator DB in Automation Suite connection string>' -s 'tenant2' -d 'orgId1' ./UiPath.OrganizationMigrationApp merge -i '<identity database connection of Automation Suite>' -o '<restored orchestrator DB in Automation Suite connection string>' -s 'tenant3' -d 'orgId1'For instructions on how to address user conflicts when migrating multiple standalone tenants to a single Automation Suite organization, see Solving user conflicts.
./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>" -
-
如果操作在中间失败,请通过运行以下命令回滚更改:
./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>" -
根据错误消息修复问题,并再次尝试将所有租户的身份数据从独立移动到 Automation Suite。例如,请参阅以下错误消息及其含义:
-
以下错误消息表示租户已创建,程序将跳过租户创建过程。您不需要执行任何操作。
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)"} -
以下错误消息表示 Automation Suite URL 无效。请确保提供正确的 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. -
以下错误消息表示 OMS S2S 客户端密码无效。请确保提供正确的 OMS S2S 客户端密码。
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"} -
以下错误消息表示 Automation Suite 组织中已经有一个租户的租户名称与独立租户名称相同。 要解决冲突,您必须更改 Automation Suite 组织中租户的租户名称。
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.
-
迁移工具参数
下表描述了 Uipath.Organization.Migration.App 工具支持的参数。您可以在 Linux 和 Windows 上使用这些参数。
| 参数名称 | 短名称 | 描述 |
|---|---|---|
|
独立产品的身份数据库连接 |
|
独立产品的 Identity 数据库连接。如果 Identity 和 Orchestrator 共享同一个数据库,则使用该数据库的连接字符串。 |
| Automation Suite 的身份数据库连接 |
| Automation Suite 的身份数据库连接。 |
|
独立产品的 Orchestrator 数据库连接 |
| 独立产品的 Identity 数据库连接。如果 Identity 和 Orchestrator 共享同一个数据库,则使用该数据库的连接字符串。 |
|
独立产品的组织 ID 列表 | s |
要合并的独立产品的组织 ID 列表。必须使用以下格式: 独立产品和 Automation Suite 的组织 ID 列表大小必须相同。 要获取独立产品的组织 ID 列表,请对独立数据库运行以下命令,并在还原的数据库上使用 |
| Automation Suite 的组织 ID 列表 | d |
Automation Suite 的组织 ID 列表。必须使用以下格式: 独立产品和 Automation Suite 的组织 ID 列表大小必须相同。 要获取 Automation Suite 的组织 ID 列表,请对 Automation Suite SQL Sever 上的 |
| 回滚 |
| 用于回滚更改的参数。 |
|
Automation Suite 的 URL |
|
Automation Suite 的 URL。例如: |
|
OMS S2S 客户端密码 |
|
用于调用 OMS API 以创建租户的客户端密码。 要从 Kubernetes 密码中获取 OMS S2S 客户端密码,请运行以下命令: |