automation-suite
2024.10
true
- 概述
- 要求
- 推荐:部署模板
- 手动:准备安装
- 手动:准备安装
- 步骤 1:为离线安装配置符合 OCI 的注册表
- 步骤 2:配置外部对象存储
- 步骤 3:配置 High Availability Add-on
- 步骤 4:配置 Microsoft SQL Server
- 步骤 5:配置负载均衡器
- 步骤 6:配置 DNS
- 步骤 7:配置磁盘
- 步骤 8:配置内核和操作系统级别设置
- 步骤 9:配置节点端口
- 步骤 10:应用其他设置
- 步骤 12:验证并安装所需的 RPM 包
- 步骤 13:生成 cluster_config.json
- Cluster_config.json 示例
- 常规配置
- 配置文件配置
- 证书配置
- 数据库配置
- 外部对象存储配置
- 预签名 URL 配置
- ArgoCD 配置
- 符合 OCI 的外部注册表配置
- Disaster Recovery:主动/被动和主动/主动配置
- High Availability Add-on 配置
- 特定于 Orchestrator 的配置
- Insights 特定配置
- Process Mining 特定配置
- Document Understanding 特定配置
- Automation Suite Robot 特定配置
- AI Center 特定配置
- 监控配置
- 可选:配置代理服务器
- 可选:在多节点 HA 就绪生产集群中启用区域故障恢复
- 可选:传递自定义 resolv.conf
- 可选:提高容错能力
- 添加具有 GPU 支持的专用代理节点
- 为 Task Mining 添加专用代理节点
- 连接 Task Mining 应用程序
- 为 Automation Suite Robot 添加专用代理节点
- 步骤 15:为离线安装配置临时 Docker 注册表
- 步骤 16:验证安装的先决条件
- 手动:执行安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
- 升级 Automation Suite 后重新安装或升级 Insights 时丢失数据
- 升级到 Automation Suite 2024.10.0 后无法访问 Automation Hub
- 单节点升级在结构阶段失败
- 由于 Ceph 运行状况不佳,升级失败
- 由于空间问题,RKE2 未启动
- 卷无法装载,且仍处于附加/分离循环状态
- 由于 Orchestrator 数据库中的传统对象,升级失败
- 并行升级后,发现 Ceph 集群处于降级状态
- Insights 组件运行状况不佳导致迁移失败
- Apps 服务升级失败
- 就地升级超时
- Docker 注册表迁移卡在 PVC 删除阶段
- 升级到 2023.10 或更高版本后 AI Center 配置失败
- 在离线环境中升级失败
- 升级期间 SQL 验证失败
- 快照-控制器-crds Pod 在升级后处于 CrashLoopBackOff 状态
- 由于 Insights PVC 大小被覆盖,升级失败
- 使用 Process Mining 运行高可用性
- 使用 Kerberos 登录时 Process Mining 挖掘失败
- 在 Disaster Recovery 后,DAPR 无法正常用于 Process Mining
- 无法使用 pyodbc 格式连接字符串连接到 AutomationSuite_ProcessMining_Warehouse 数据库
- Airflow 安装失败,并显示 sqlalchemy.exc.ArgumentError:无法从字符串“”中解析 rfc1738 URL
- 如何添加 IP 表格规则以使用 SQL Server 端口 1433
- 运行 CData Sync 的服务器不信任 Automation Suite 证书
- Task Mining 故障排除
- 运行诊断工具
- 使用 Automation Suite 支持捆绑包
- 探索日志
升级到 Automation Suite 2024.10.0 后无法访问 Automation Hub
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
新发布内容的本地化可能需要 1-2 周的时间才能完成。

Linux 版 Automation Suite 安装指南
上次更新日期 2025年2月7日
升级到 Automation Suite 2024.10.0 后无法访问 Automation Hub
升级到 Automation Suite 2024.10.0 后,由于数据库架构差异,您无法再访问 Automation Hub。 我们在 Automation Suite 2024.10.1 中修复了此问题。
要解决此问题,必须在
AutomationSuite_Automation_Hub
数据库上运行以下 SQL 脚本:
-- IMPORTANT:
-- This script should be executed in the AutomationSuite_Automation_Hub database.
-- Purpose:
-- This script resolves potential issues encountered during the upgrade to version 2024.10.0 of Automation Hub.
-- Please replace placeholders with actual data before running the script.
-- Assumptions:
-- The customer has an existing Automation Hub instance running a version prior to 2024.10.0.
-- Variables:
-- @AccountName: Logical name of the Automation Suite organization. Replace '<USER_INPUT>' with the actual name.
-- @TenantName: Logical name of the Automation Suite tenant. Replace '<USER_INPUT>' with the actual name.
-- Note:
-- The script will terminate if any errors occur and will provide error details for debugging.
SET XACT_ABORT ON;
-- Replace placeholders with actual values
DECLARE @AccountName NVARCHAR(255) = '<USER_INPUT>';
DECLARE @TenantName NVARCHAR(255) = '<USER_INPUT>';
-- DO NOT EDIT ANYTHING BELOW THIS POINT --
BEGIN TRY
BEGIN TRANSACTION;
-- Validate placeholders
IF @AccountName = '<USER_INPUT>' OR
@TenantName = '<USER_INPUT>'
BEGIN
RAISERROR('Placeholders were not replaced with actual values. Please update the script and retry.', 16, 1);
RETURN;
END;
-- Declare variables for tenant information
DECLARE @TenantUUID NVARCHAR(255);
DECLARE @TsTablePrefix NVARCHAR(255);
-- Retrieve tenant_uuid from the cloud_tenants table based on TenantName and AccountName
DECLARE @sql NVARCHAR(MAX);
DECLARE @params NVARCHAR(MAX);
SET @sql = N'SELECT @TenantUUID = tenant_uuid
FROM ah.cloud_tenants
WHERE cloud_TenantName = @TenantName
AND cloud_AccountName = @AccountName;';
SET @params = N'@TenantName NVARCHAR(255), @AccountName NVARCHAR(255), @TenantUUID NVARCHAR(255) OUTPUT';
EXEC sp_executesql @sql,
@params,
@TenantName = @TenantName,
@AccountName = @AccountName,
@TenantUUID = @TenantUUID OUTPUT;
-- Abort if tenant_uuid is not found
IF @TenantUUID IS NULL
BEGIN
RAISERROR('No tenant found for the provided TenantName and AccountName. Script execution aborted.', 16, 1);
RETURN;
END;
-- Retrieve tenant_db_table_prefix from tenants table using tenant_uuid
SET @sql = N'SELECT @TsTablePrefix = tenant_db_table_prefix
FROM ah.tenants
WHERE tenant_uuid = @TenantUUID;';
SET @params = N'@TenantUUID NVARCHAR(255), @TsTablePrefix NVARCHAR(255) OUTPUT';
EXEC sp_executesql @sql,
@params,
@TenantUUID = @TenantUUID,
@TsTablePrefix = @TsTablePrefix OUTPUT;
-- Abort if tenant_db_table_prefix is not found
IF @TsTablePrefix IS NULL
BEGIN
RAISERROR('No tenant found in the tenants table for the provided tenant_uuid. Script execution aborted.', 16, 1);
RETURN;
END;
-- Drop the default constraint for assignment_days column
DECLARE @ConstraintName NVARCHAR(200);
SELECT @ConstraintName = dc.name
FROM sys.default_constraints dc
INNER JOIN sys.columns c
ON dc.parent_object_id = c.object_id
AND dc.parent_column_id = c.column_id
WHERE c.object_id = OBJECT_ID(@TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates')
AND c.name = 'assignment_days';
IF @ConstraintName IS NOT NULL
BEGIN
EXEC('ALTER TABLE ' + @TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates DROP CONSTRAINT [' + @ConstraintName + ']');
END;
-- Recreate the default constraint for assignment_days
DECLARE @UniqueConstraintName NVARCHAR(255) = '[' + @TsTablePrefix + 'DF_assignment_days]';
BEGIN
EXEC('ALTER TABLE ' + @TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates ADD CONSTRAINT ' + @UniqueConstraintName + ' DEFAULT 0.00 FOR assignment_days');
END
-- Drop the index on the assignment_days column
IF EXISTS (SELECT 1
FROM sys.indexes
WHERE name = 'assignment_days'
AND object_id = OBJECT_ID(@TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates')
)
BEGIN
EXEC('DROP INDEX assignment_days ON ' + @TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates');
END;
-- Alter the assignment_days column
EXEC('ALTER TABLE ' + @TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates ALTER COLUMN assignment_days NUMERIC(15, 2) NOT NULL');
-- Recreate the index on assignment_days
EXEC('CREATE NONCLUSTERED INDEX assignment_days ON ' + @TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates (assignment_days ASC)');
-- Insert a record into the migrations table
EXEC('INSERT INTO ' + @TsTablePrefix + 'migrations (name, run_on) VALUES (''tenants/20230925145641-edit-cba-one-time-costs-estimates-table-column'', CURRENT_TIMESTAMP)');
-- Commit the transaction
COMMIT TRANSACTION;
PRINT 'Script executed successfully.';
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
-- Output error details
PRINT 'Error occurred during script execution:';
PRINT 'Error Number: ' + CAST(ERROR_NUMBER() AS VARCHAR(10));
PRINT 'Error Severity: ' + CAST(ERROR_SEVERITY() AS VARCHAR(10));
PRINT 'Error State: ' + CAST(ERROR_STATE() AS VARCHAR(10));
PRINT 'Error Procedure: ' + ISNULL(ERROR_PROCEDURE(), '');
PRINT 'Error Line: ' + CAST(ERROR_LINE() AS VARCHAR(10));
PRINT 'Error Message: ' + ERROR_MESSAGE();
END CATCH;
-- IMPORTANT:
-- This script should be executed in the AutomationSuite_Automation_Hub database.
-- Purpose:
-- This script resolves potential issues encountered during the upgrade to version 2024.10.0 of Automation Hub.
-- Please replace placeholders with actual data before running the script.
-- Assumptions:
-- The customer has an existing Automation Hub instance running a version prior to 2024.10.0.
-- Variables:
-- @AccountName: Logical name of the Automation Suite organization. Replace '<USER_INPUT>' with the actual name.
-- @TenantName: Logical name of the Automation Suite tenant. Replace '<USER_INPUT>' with the actual name.
-- Note:
-- The script will terminate if any errors occur and will provide error details for debugging.
SET XACT_ABORT ON;
-- Replace placeholders with actual values
DECLARE @AccountName NVARCHAR(255) = '<USER_INPUT>';
DECLARE @TenantName NVARCHAR(255) = '<USER_INPUT>';
-- DO NOT EDIT ANYTHING BELOW THIS POINT --
BEGIN TRY
BEGIN TRANSACTION;
-- Validate placeholders
IF @AccountName = '<USER_INPUT>' OR
@TenantName = '<USER_INPUT>'
BEGIN
RAISERROR('Placeholders were not replaced with actual values. Please update the script and retry.', 16, 1);
RETURN;
END;
-- Declare variables for tenant information
DECLARE @TenantUUID NVARCHAR(255);
DECLARE @TsTablePrefix NVARCHAR(255);
-- Retrieve tenant_uuid from the cloud_tenants table based on TenantName and AccountName
DECLARE @sql NVARCHAR(MAX);
DECLARE @params NVARCHAR(MAX);
SET @sql = N'SELECT @TenantUUID = tenant_uuid
FROM ah.cloud_tenants
WHERE cloud_TenantName = @TenantName
AND cloud_AccountName = @AccountName;';
SET @params = N'@TenantName NVARCHAR(255), @AccountName NVARCHAR(255), @TenantUUID NVARCHAR(255) OUTPUT';
EXEC sp_executesql @sql,
@params,
@TenantName = @TenantName,
@AccountName = @AccountName,
@TenantUUID = @TenantUUID OUTPUT;
-- Abort if tenant_uuid is not found
IF @TenantUUID IS NULL
BEGIN
RAISERROR('No tenant found for the provided TenantName and AccountName. Script execution aborted.', 16, 1);
RETURN;
END;
-- Retrieve tenant_db_table_prefix from tenants table using tenant_uuid
SET @sql = N'SELECT @TsTablePrefix = tenant_db_table_prefix
FROM ah.tenants
WHERE tenant_uuid = @TenantUUID;';
SET @params = N'@TenantUUID NVARCHAR(255), @TsTablePrefix NVARCHAR(255) OUTPUT';
EXEC sp_executesql @sql,
@params,
@TenantUUID = @TenantUUID,
@TsTablePrefix = @TsTablePrefix OUTPUT;
-- Abort if tenant_db_table_prefix is not found
IF @TsTablePrefix IS NULL
BEGIN
RAISERROR('No tenant found in the tenants table for the provided tenant_uuid. Script execution aborted.', 16, 1);
RETURN;
END;
-- Drop the default constraint for assignment_days column
DECLARE @ConstraintName NVARCHAR(200);
SELECT @ConstraintName = dc.name
FROM sys.default_constraints dc
INNER JOIN sys.columns c
ON dc.parent_object_id = c.object_id
AND dc.parent_column_id = c.column_id
WHERE c.object_id = OBJECT_ID(@TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates')
AND c.name = 'assignment_days';
IF @ConstraintName IS NOT NULL
BEGIN
EXEC('ALTER TABLE ' + @TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates DROP CONSTRAINT [' + @ConstraintName + ']');
END;
-- Recreate the default constraint for assignment_days
DECLARE @UniqueConstraintName NVARCHAR(255) = '[' + @TsTablePrefix + 'DF_assignment_days]';
BEGIN
EXEC('ALTER TABLE ' + @TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates ADD CONSTRAINT ' + @UniqueConstraintName + ' DEFAULT 0.00 FOR assignment_days');
END
-- Drop the index on the assignment_days column
IF EXISTS (SELECT 1
FROM sys.indexes
WHERE name = 'assignment_days'
AND object_id = OBJECT_ID(@TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates')
)
BEGIN
EXEC('DROP INDEX assignment_days ON ' + @TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates');
END;
-- Alter the assignment_days column
EXEC('ALTER TABLE ' + @TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates ALTER COLUMN assignment_days NUMERIC(15, 2) NOT NULL');
-- Recreate the index on assignment_days
EXEC('CREATE NONCLUSTERED INDEX assignment_days ON ' + @TsTablePrefix + 'process_cost_benefit_one_time_costs_estimates (assignment_days ASC)');
-- Insert a record into the migrations table
EXEC('INSERT INTO ' + @TsTablePrefix + 'migrations (name, run_on) VALUES (''tenants/20230925145641-edit-cba-one-time-costs-estimates-table-column'', CURRENT_TIMESTAMP)');
-- Commit the transaction
COMMIT TRANSACTION;
PRINT 'Script executed successfully.';
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
-- Output error details
PRINT 'Error occurred during script execution:';
PRINT 'Error Number: ' + CAST(ERROR_NUMBER() AS VARCHAR(10));
PRINT 'Error Severity: ' + CAST(ERROR_SEVERITY() AS VARCHAR(10));
PRINT 'Error State: ' + CAST(ERROR_STATE() AS VARCHAR(10));
PRINT 'Error Procedure: ' + ISNULL(ERROR_PROCEDURE(), '');
PRINT 'Error Line: ' + CAST(ERROR_LINE() AS VARCHAR(10));
PRINT 'Error Message: ' + ERROR_MESSAGE();
END CATCH;