- 概述
- 要求
- 安装
- 安装后
- 迁移和升级
- 监控和警示
- 集群管理
- 特定于产品的配置
- 故障排除
步骤 1:将身份组织数据从独立移动到 Automation Suite
将身份组织数据从独立安装移动到 EKS/AKS 上的 Automation Suite。
独立版本和 Automation Suite 版本必须相同,否则迁移将由于数据库架构冲突问题而失败。 如果遇到兼容性故障,请确保将独立安装和 Automation Suite 安装升级到最新版本。
在 Linux 上运行迁移工具
开始之前,请考虑以下事项:
- 在运行 UiPath.OrganizationMigrationApp 之前,请确保下载并安装 .NET Runtime 6.0。有关详细信息,请参阅迁移先决条件。
- 要下载 UiPath.OrganizationMigrationApp,请参阅迁移先决条件。
请务必遵循所选 Shell 工具的一般转义说明。例如,在 Bash 中,您必须在特殊字符前添加 \。
本部分介绍了使用 Uipath.Organization.Migration.App 工具时您可能需要执行的一些常见操作。有关 Uipath.Organization.Migration.App 工具支持的参数的详细信息,请参阅迁移工具参数。
-
要将所有租户的身份数据从独立移动到 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'有关在将多个独立租户迁移到单个 Automation Suite 组织时如何解决用户冲突的说明,请参阅解决用户冲突。
- 确保为输入中的所有 SQL 连接添加
-
如果操作在中间失败,请通过运行以下命令回滚更改:
./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 上运行迁移工具
开始之前,请考虑以下方面:
- 在运行 UiPath.OrganizationMigrationApp 之前,必须下载并安装 .NET Runtime 6.0。有关详细信息,请参阅迁移先决条件。
- 要下载 UiPath.OrganizationMigrationApp,请参阅迁移先决条件。
要成功运行 UiPath.OrganizationMigrationApp 工具,如果 SQL 密码包含特殊字符,则必须对其进行转义。例如,将 $ 的每个实例替换为 \`$。有关如何对连接字符串密码中的特殊字符进行转义的更多准则,请参阅连接字符串密码的特殊字符转义规则。
本部分介绍了使用 Uipath.Organization.Migration.App 工具时您可能需要执行的一些常见操作。有关 Uipath.Organization.Migration.App 工具支持的参数的详细信息,请参阅迁移工具参数。
- 要将所有租户的身份数据从独立移动到 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'有关在将多个独立租户迁移到单个 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 连接输入添加
- 如果操作在中间失败,请通过运行以下命令回滚更改:
./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 上使用这些参数。
| 参数名称 | 短名称 | 描述 |
|---|---|---|
| 独立产品的身份数据库连接 | i | 独立产品已还原和升级的 Identity 数据库连接。如果 Identity 和 Orchestrator 共享同一个数据库,则使用该数据库的连接字符串。 |
| Automation Suite 的身份数据库连接 | j | Automation Suite 的身份数据库连接。 |
| 独立产品的 Orchestrator 数据库连接 | o | 独立产品还原并升级的 Orchestrator 数据库连接。如果 Identity 和 Orchestrator 共享同一个数据库,则使用该数据库的连接字符串。 |
| 独立产品的组织 ID 列表 | s |
要合并的独立产品的组织 ID 列表。必须使用以下格式:orgId1,orgId2,...,orgId5。
独立产品和 Automation Suite 的组织 ID 列表大小必须相同。 要获取独立产品的组织 ID 列表,请对独立数据库运行以下命令,并在还原的数据库上使用 GlobalId 和相关分区/组织名称:
SELECT * FROM [identity].[Partitions]
|
| Automation Suite 的组织 ID 列表 | d |
Automation Suite 的组织 ID 列表。必须使用以下格式:orgId1,orgId2,...,orgId5。
独立产品和 Automation Suite 的组织 ID 列表大小必须相同。 要获取 Automation Suite 的组织 ID 列表,请对 Automation Suite SQL Server 上的 AutomationSuite_Platform数据库运行以下命令:
SELECT * FROM [identity].[Partitions]
|
| 回滚 | r | 用于回滚更改的参数。 |
| Automation Suite 的 URL | p |
Automation Suite 的 URL。例如:
https://ci-asaks5380983.devtest-ascloudgen-ea.infra.uipath-dev.com/
|
| OMS S2S 客户端密码 | c |
用于调用 OMS API 以创建租户的客户端密码。
要从 Kubernetes 密码中获取 OMS S2S 客户端密码,请运行以下命令: kubectl get secret identity-client-oms -n <uipath> -o "jsonpath={.data.OMSS2SClient\.ClientSecret}" | base64 -d
|