automation-suite
2023.10
false
Automation Suite on EKS/AKS installation guide
- 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: Migrating standalone Test Manager
- Step 9: Deleting the default tenant
- Performing a single tenant migration
- Migrating from Automation Suite on Linux to Automation Suite on EKS/AKS
- Monitoring and alerting
- Cluster administration
- Product-specific configuration
- Remapping the organization IDs
- Migrating Looker data to Automation Suite
- Performing Insights database maintenance
- Configuring log rules
- 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
- EKS backup failure due to Velero version
- Velero backup fails with FailedValidation error
- Accessing FQDN returns RBAC access denied error
- Manual ArgoCD NetworkPolicy mitigation (GHSA-47m3-95c7-g2g8)
Remapping the organization IDs
Organization ID remapping requirements and table references for migrating from standalone Insights to Automation Suite.
To migrate from standalone Insights to Automation Suite, you must remap of the organization IDs in the following tables:
(
[Id] [int] NOT NULL,
[Key] [nvarchar](128) NOT NULL,
[Name] [nvarchar](128) NOT NULL,
[IsActive] [bit] NOT NULL,
[IsDeleted] [bit] NOT NULL,
[OrganizationId] [nvarchar](128) NULL,
CONSTRAINT [PK_dbo.Tenants] PRIMARY KEY CLUSTERED
CREATE TABLE [insightsintegrations].[TenantServiceIntegrations](
[Id] [uniqueidentifier] NOT NULL,
[TenantId] [uniqueidentifier] NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
[ServiceName] [int] NOT NULL,
[Status] [int] NOT NULL,
[CreationTime] [datetime2](7) NOT NULL,
[LastUpdatetime] [datetime2](7) NOT NULL,
CONSTRAINT [PK_TenantServiceIntegrations] PRIMARY KEY CLUSTERED
CREATE TABLE [insightspermissions].[GroupRoles](
[GroupId] [uniqueidentifier] NOT NULL,
[RoleId] [uniqueidentifier] NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
CONSTRAINT [PK_GroupRoles] PRIMARY KEY CLUSTERED
CREATE TABLE [insightspermissions].[Groups](
[Id] [uniqueidentifier] NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
[Name] [nvarchar](max) NULL,
[Email] [nvarchar](max) NULL,
CONSTRAINT [PK_Groups] PRIMARY KEY CLUSTERED
CREATE TABLE [insightspermissions].[Roles](
[Id] [uniqueidentifier] NOT NULL,
[TenantId] [uniqueidentifier] NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
[Name] [nvarchar](max) NULL,
[Resource] [nvarchar](max) NULL,
[IsDeleted] [bit] NOT NULL,
CONSTRAINT [PK_Roles] PRIMARY KEY CLUSTERED
CREATE TABLE [insightspermissions].[TenantGroups](
[GroupId] [uniqueidentifier] NOT NULL,
[TenantId] [uniqueidentifier] NOT NULL,
[IsDeleted] [bit] NOT NULL,
[TimeProcessed] [datetime2](7) NULL,
[LastUpdateTime] [datetime2](7) NOT NULL,
[CreationTime] [datetime2](7) NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
CONSTRAINT [PK_TenantGroup] PRIMARY KEY CLUSTERED
CREATE TABLE [insightspermissions].[Tenants](
[Id] [uniqueidentifier] NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
CONSTRAINT [PK_Tenants] PRIMARY KEY CLUSTERED
CREATE TABLE [insightspermissions].[Users](
[Id] [uniqueidentifier] NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
[Name] [nvarchar](max) NULL,
[Email] [nvarchar](max) NULL,
[IsDeleted] [bit] NULL,
CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED
CREATE TABLE [insightsprovisioning].[TenantInstances](
[TenantId] [uniqueidentifier] NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
[ServiceType] [nvarchar](max) NULL,
[Status] [int] NOT NULL,
[State] [int] NOT NULL,
[CreationTime] [datetime2](7) NOT NULL,
[LastUpdatetime] [datetime2](7) NOT NULL,
[TenantName] [nvarchar](max) NULL,
CONSTRAINT [PK_TenantInstances] PRIMARY KEY CLUSTERED
CREATE TABLE [read].[HASHKEYS](
[hashkey] [bigint] NOT NULL,
[tenantkey] [nvarchar](128) NOT NULL,
[tenantname] [nvarchar](256) NULL,
[organizationid] [nvarchar](128) NULL,
[status] [int] NULL
)
(
[Id] [int] NOT NULL,
[Key] [nvarchar](128) NOT NULL,
[Name] [nvarchar](128) NOT NULL,
[IsActive] [bit] NOT NULL,
[IsDeleted] [bit] NOT NULL,
[OrganizationId] [nvarchar](128) NULL,
CONSTRAINT [PK_dbo.Tenants] PRIMARY KEY CLUSTERED
CREATE TABLE [insightsintegrations].[TenantServiceIntegrations](
[Id] [uniqueidentifier] NOT NULL,
[TenantId] [uniqueidentifier] NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
[ServiceName] [int] NOT NULL,
[Status] [int] NOT NULL,
[CreationTime] [datetime2](7) NOT NULL,
[LastUpdatetime] [datetime2](7) NOT NULL,
CONSTRAINT [PK_TenantServiceIntegrations] PRIMARY KEY CLUSTERED
CREATE TABLE [insightspermissions].[GroupRoles](
[GroupId] [uniqueidentifier] NOT NULL,
[RoleId] [uniqueidentifier] NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
CONSTRAINT [PK_GroupRoles] PRIMARY KEY CLUSTERED
CREATE TABLE [insightspermissions].[Groups](
[Id] [uniqueidentifier] NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
[Name] [nvarchar](max) NULL,
[Email] [nvarchar](max) NULL,
CONSTRAINT [PK_Groups] PRIMARY KEY CLUSTERED
CREATE TABLE [insightspermissions].[Roles](
[Id] [uniqueidentifier] NOT NULL,
[TenantId] [uniqueidentifier] NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
[Name] [nvarchar](max) NULL,
[Resource] [nvarchar](max) NULL,
[IsDeleted] [bit] NOT NULL,
CONSTRAINT [PK_Roles] PRIMARY KEY CLUSTERED
CREATE TABLE [insightspermissions].[TenantGroups](
[GroupId] [uniqueidentifier] NOT NULL,
[TenantId] [uniqueidentifier] NOT NULL,
[IsDeleted] [bit] NOT NULL,
[TimeProcessed] [datetime2](7) NULL,
[LastUpdateTime] [datetime2](7) NOT NULL,
[CreationTime] [datetime2](7) NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
CONSTRAINT [PK_TenantGroup] PRIMARY KEY CLUSTERED
CREATE TABLE [insightspermissions].[Tenants](
[Id] [uniqueidentifier] NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
CONSTRAINT [PK_Tenants] PRIMARY KEY CLUSTERED
CREATE TABLE [insightspermissions].[Users](
[Id] [uniqueidentifier] NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
[Name] [nvarchar](max) NULL,
[Email] [nvarchar](max) NULL,
[IsDeleted] [bit] NULL,
CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED
CREATE TABLE [insightsprovisioning].[TenantInstances](
[TenantId] [uniqueidentifier] NOT NULL,
[OrganizationId] [uniqueidentifier] NOT NULL,
[ServiceType] [nvarchar](max) NULL,
[Status] [int] NOT NULL,
[State] [int] NOT NULL,
[CreationTime] [datetime2](7) NOT NULL,
[LastUpdatetime] [datetime2](7) NOT NULL,
[TenantName] [nvarchar](max) NULL,
CONSTRAINT [PK_TenantInstances] PRIMARY KEY CLUSTERED
CREATE TABLE [read].[HASHKEYS](
[hashkey] [bigint] NOT NULL,
[tenantkey] [nvarchar](128) NOT NULL,
[tenantname] [nvarchar](256) NULL,
[organizationid] [nvarchar](128) NULL,
[status] [int] NULL
)
[dbo].[Tenants]
[insightsintegrations].[TenantServiceIntegrations]
[insightspermissions].[GroupRoles]
[insightspermissions].[Groups]
[insightspermissions].[Roles]
[insightspermissions].[TenantGroups]
[insightspermissions].[Tenants]
[insightspermissions].[Users]
[insightsprovisioning].[TenantInstances]
[read].[HASHKEYS]
[dbo].[Tenants]
[insightsintegrations].[TenantServiceIntegrations]
[insightspermissions].[GroupRoles]
[insightspermissions].[Groups]
[insightspermissions].[Roles]
[insightspermissions].[TenantGroups]
[insightspermissions].[Tenants]
[insightspermissions].[Users]
[insightsprovisioning].[TenantInstances]
[read].[HASHKEYS]
Tip:
This is an example on how to update the tables:
--- Script to replace MSI organization ID with AS organization ID.
--- Please update the following DECLARE statements with your corresponding MSI org ID and AS org ID before executing this script.
DECLARE @msi_organization_id nvarchar(500) = upper('687db434-ce5c-4058-bc0b-3ed3fa23882b');
DECLARE @as_organization_id nvarchar(500) = upper('AA259F1A-5828-4608-AF71-27177A7831B8');
DECLARE @msi_resource nvarchar(500) = lower('insights/687db434-ce5c-4058-bc0b-3ed3fa23882b/687db434-ce5c-4058-bc0b-3ed3fa23882b/*');
DECLARE @as_resource nvarchar(500) = lower('insights/aa259f1a-5828-4608-af71-27177a7831b8/687db434-ce5c-4058-bc0b-3ed3fa23882b/*');
SELECT * FROM [dbo].[Tenants];
UPDATE [dbo].[Tenants]
SET OrganizationId = lower(@as_organization_id)
WHERE OrganizationId = lower(@msi_organization_id);
SELECT * FROM [insightsintegrations].[TenantServiceIntegrations];
UPDATE [insightsintegrations].[TenantServiceIntegrations]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
ALTER TABLE [insightspermissions].[GroupRoles] NOCHECK CONSTRAINT FK_GroupRoles_Groups_GroupId_OrganizationId;
SELECT * FROM [insightspermissions].[GroupRoles];
UPDATE [insightspermissions].[GroupRoles]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
ALTER TABLE [insightspermissions].[GroupRoles] CHECK CONSTRAINT FK_GroupRoles_Groups_GroupId_OrganizationId;
ALTER TABLE [insightspermissions].[TenantGroups] NOCHECK CONSTRAINT FK_TenantGroups_Groups_GroupId_OrganizationId;
SELECT * FROM [insightspermissions].[TenantGroups];
UPDATE [insightspermissions].[TenantGroups]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
ALTER TABLE [insightspermissions].[TenantGroups] CHECK CONSTRAINT FK_TenantGroups_Groups_GroupId_OrganizationId;
SELECT * FROM [insightspermissions].[Groups];
UPDATE [insightspermissions].[Groups]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
SELECT * FROM [insightspermissions].[Roles];
UPDATE [insightspermissions].[Roles]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
UPDATE [insightspermissions].[Roles]
SET Resource = @as_resource
WHERE Resource = @msi_resource;
SELECT * FROM [insightspermissions].[Tenants];
UPDATE [insightspermissions].[Tenants]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
SELECT * FROM [insightspermissions].[Users];
UPDATE [insightspermissions].[Users]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
SELECT * FROM [insightsprovisioning].[TenantInstances];
UPDATE [insightsprovisioning].[TenantInstances]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
SELECT * FROM [read].[HASHKEYS];
UPDATE [read].[HASHKEYS]
SET OrganizationId = lower(@as_organization_id)
WHERE OrganizationId = @msi_organization_id;
--- Script to replace MSI organization ID with AS organization ID.
--- Please update the following DECLARE statements with your corresponding MSI org ID and AS org ID before executing this script.
DECLARE @msi_organization_id nvarchar(500) = upper('687db434-ce5c-4058-bc0b-3ed3fa23882b');
DECLARE @as_organization_id nvarchar(500) = upper('AA259F1A-5828-4608-AF71-27177A7831B8');
DECLARE @msi_resource nvarchar(500) = lower('insights/687db434-ce5c-4058-bc0b-3ed3fa23882b/687db434-ce5c-4058-bc0b-3ed3fa23882b/*');
DECLARE @as_resource nvarchar(500) = lower('insights/aa259f1a-5828-4608-af71-27177a7831b8/687db434-ce5c-4058-bc0b-3ed3fa23882b/*');
SELECT * FROM [dbo].[Tenants];
UPDATE [dbo].[Tenants]
SET OrganizationId = lower(@as_organization_id)
WHERE OrganizationId = lower(@msi_organization_id);
SELECT * FROM [insightsintegrations].[TenantServiceIntegrations];
UPDATE [insightsintegrations].[TenantServiceIntegrations]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
ALTER TABLE [insightspermissions].[GroupRoles] NOCHECK CONSTRAINT FK_GroupRoles_Groups_GroupId_OrganizationId;
SELECT * FROM [insightspermissions].[GroupRoles];
UPDATE [insightspermissions].[GroupRoles]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
ALTER TABLE [insightspermissions].[GroupRoles] CHECK CONSTRAINT FK_GroupRoles_Groups_GroupId_OrganizationId;
ALTER TABLE [insightspermissions].[TenantGroups] NOCHECK CONSTRAINT FK_TenantGroups_Groups_GroupId_OrganizationId;
SELECT * FROM [insightspermissions].[TenantGroups];
UPDATE [insightspermissions].[TenantGroups]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
ALTER TABLE [insightspermissions].[TenantGroups] CHECK CONSTRAINT FK_TenantGroups_Groups_GroupId_OrganizationId;
SELECT * FROM [insightspermissions].[Groups];
UPDATE [insightspermissions].[Groups]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
SELECT * FROM [insightspermissions].[Roles];
UPDATE [insightspermissions].[Roles]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
UPDATE [insightspermissions].[Roles]
SET Resource = @as_resource
WHERE Resource = @msi_resource;
SELECT * FROM [insightspermissions].[Tenants];
UPDATE [insightspermissions].[Tenants]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
SELECT * FROM [insightspermissions].[Users];
UPDATE [insightspermissions].[Users]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
SELECT * FROM [insightsprovisioning].[TenantInstances];
UPDATE [insightsprovisioning].[TenantInstances]
SET OrganizationId = @as_organization_id
WHERE OrganizationId = @msi_organization_id;
SELECT * FROM [read].[HASHKEYS];
UPDATE [read].[HASHKEYS]
SET OrganizationId = lower(@as_organization_id)
WHERE OrganizationId = @msi_organization_id;