- Getting Started
- Network requirements
- Single-node requirements and installation
- Multi-node requirements and installation
- Post-installation
- Accessing AI Center
- Provision an AI Center tenant
- Updating Orchestrator and Identity Server certificates
- Resizing PVC
- Adding a new node to the cluster
- ML packages offline installation
- Configuring the Cluster
- Configuring the FQDN post-installation
- Backing up and Restoring the Cluster
- Using the Monitoring Stack
- Setting up a Kerberos Authentication
- Provisioning a GPU
- Using the configuration file
- Node scheduling
- Migration and Upgrade
- Migrating to the Standalone or Automation Suite Environment
- Upgrading AI Center
- Basic Troubleshooting Guide
Migrating to the Standalone or Automation Suite Environment
Use this procedure to migrate from 2021.4 or 2020.10 to 2021.10. To do this, a new installation and a migration is needed instead of upgrade.
Use the following steps to migrate the AI Center tenant data to the AI Center standalone environment or Automation Suite environment. This procedure offers migration support for the following:
- Database
- Datasets
- ML Packages
Note: The Document Understanding on-demand bundle must be executed before deploying and training the migrated DU ML packages.
In case of airgapped installation, make sure that the models with the same major version are added to your out of the box models. For more information on installing models offline, see ML Packages Offline Installation.
Make sure that AI Center is up and running in both environments.
Additionally, the following prerequisites must be met on the machine where the migration script runs:
- A Linux machine with the following dependencies installed:
aws s3
,s3cmd
,jq
,zip
. The machine can be one of the AI Center machines or a new one. For more information, see the example below.
Installing aws s3, s3cmd, jq, zip dependencies
sudo susudo apt install -y jq awscli s3cmd zip gitsudo apt --fix-broken installsudo apt install -y jq awscli s3cmd zip
sudo susudo apt install -y jq awscli s3cmd zip gitsudo apt --fix-broken installsudo apt install -y jq awscli s3cmd zip
- Install MS SQL utility from here. You can do so by running the following commands:
sudo su curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.listsudo apt-get update sudo apt-get install mssql-tools unixodbc-devsudo apt-get update sudo apt-get install mssql-toolsecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profileecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
sudo su curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.listsudo apt-get update sudo apt-get install mssql-tools unixodbc-devsudo apt-get update sudo apt-get install mssql-toolsecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profileecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
- Connectivity with both AI Center instances.
- Connectivity with both Orchestrator instances (in case the instances are not the same).
- Connectivity with SQL servers (in case the instances are not the same).
- Possibility to access both AI Center instances.
Create a corresponding tenant in the Automation Suite or new AI Center environment for every tenant that you want to migrate.
This step needs to be run on the first machine, the one you want to migrate to the new environment.
- Connect using SSH to the machine you want to migrate.
- Generate the
storage-creds.json
file by executing the command below:wget https://raw.githubusercontent.com/UiPath/ai-customer-scripts/stable/platform/sfmigration/storagemigration/get-credentials.sh chmod 777 get-credentials.sh ./get-credentials.sh
wget https://raw.githubusercontent.com/UiPath/ai-customer-scripts/stable/platform/sfmigration/storagemigration/get-credentials.sh chmod 777 get-credentials.sh ./get-credentials.sh
./get-credentials.sh {PUBLIC_IP_REPLICATED_MACHINE}
./get-credentials.sh {PUBLIC_IP_REPLICATED_MACHINE}
bash -l
command and try running the above script again
storage-creds.json
) will be used in further steps. Make sure that you copy and save the content of the file locally.
This step needs to be run on the second machine, the one running on the Automation Suite environment.
- Open port 22 on the Automation Suite machine.
- Connect using SSH to the Automation Suite machine.
- Run the command below:
sudo su export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin
sudo su export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin - Download the credential file by executing the command below:
wget https://raw.githubusercontent.com/UiPath/ai-customer-scripts/stable/platform/sfmigration/storagemigration/get-credentials-sf.sh chmod 777 get-credentials-sf.sh ./get-credentials-sf.sh
wget https://raw.githubusercontent.com/UiPath/ai-customer-scripts/stable/platform/sfmigration/storagemigration/get-credentials-sf.sh chmod 777 get-credentials-sf.sh ./get-credentials-sf.sh
storage-creds-sf.json
) will be used in further steps. Make sure that you copy and save the content of the file locally.
Before going through the steps below, create a tenant with the same name in the Automation Suite environment manually. Whichever tenant has to be migrated, a corresponding tenant must be created in Automation Suite as well.
This step needs to be run on the machine executing the script.
- Run the command below to download the migration script (This will download the script from public git repository):
sudo su cd ~ mkdir migration cd migration git clone https://github.com/UiPath/ai-customer-scripts cd ai-customer-scripts git checkout stable cd platform chmod 777 -R sfmigration cd ~/migration/ai-customer-scripts/platform/sfmigration/storagemigration/
sudo su cd ~ mkdir migration cd migration git clone https://github.com/UiPath/ai-customer-scripts cd ai-customer-scripts git checkout stable cd platform chmod 777 -R sfmigration cd ~/migration/ai-customer-scripts/platform/sfmigration/storagemigration/ - Replace the content in the
SOURCE_CREDENTIAL_FILE
file with the content fromstorage-creds.json
(see Step 2). - Replace the content in the
TARGET_CREDENTIAL_FILE
file with the content fromstorage-creds-sf.json
(see Step 3). - Go to the base directory by running the following command:
cd ~/migration/ai-customer-scripts/platform/sfmigration/
cd ~/migration/ai-customer-scripts/platform/sfmigration/
input.json
file (File already present in the directory). For easier reference, the credentials are marked as TO-BE-REPLACED
in the input.json
file.
The sample JSON file with description of each field is mentioned below.
{
"SRC_AIC_INSTALLATION_VERSION": "TO-BE-REPLACED", // Values can be : 20.10 OR 21.4
"SRC_SERVER": "TO-BE-REPLACED", // Replicated SQL Server host
"SRC_PKGMANAGER_DB_NAME": "TO-BE-REPLACED", // Replicated SQL Server Pkgmanager DB name
"SRC_PKGMANAGER_DB_SCHEMA": "ai_pkgmanager", // Replicated SQL Server Pkgmanager DB schema, Note : Please check schema in case of multiple dbs in replicated
"SRC_PKGMANAGER_DB_USERNAME": "TO-BE-REPLACED", // Replicated SQL Server Pkgmanager DB Username
"SRC_PKGMANAGER_DB_PASSWORD": "TO-BE-REPLACED", // Replicated SQL Server Pkgmanager DB Password
"SRC_TRAINER_DB_NAME": "TO-BE-REPLACED", // Replicated SQL Server AI-Trainer DB Name
"SRC_TRAINER_DB_SCHEMA": "ai_trainer", // Replicated SQL Server AI-Trainer DB Schema, Note : Please check schema in case of multiple dbs in replicated
"SRC_TRAINER_DB_USERNAME": "TO-BE-REPLACED", // Replicated SQL Server AI-Trainer DB Username
"SRC_TRAINER_DB_PASSWORD": "TO-BE-REPLACED",// Replicated SQL Server AI-Trainer DB Password
"DESTINATION_SERVER": "TO-BE-REPLACED", // Destination SQL Server host i.e ServiceFabric SQL Server host
"DESTINATION_DB_NAME": "TO-BE-REPLACED", // Destination SQL Server DB Name
"DESTINATION_PKGMANAGER_DB_SCHEMA": "ai_pkgmanager",
"DESTINATION_TRAINER_DB_SCHEMA": "ai_trainer",
"DESTINATION_DB_USERNAME": "TO-BE-REPLACED", // Destination SQL Server Username
"DESTINATION_DB_PASSWORD": "TO-BE-REPLACED", // Destination SQL Server Password
"TENANT_MAP": [
{
"SRC_TENANT_ID": "TO-BE-REPLACED", // Source Tenant Id i.e tenant UUID in replicated environment
"DESTINATION_TENANT_ID": "TO-BE-REPLACED", // Destination Tenant Id i.e Tenant UUID in the destination environment
"DESTINATION_ACCOUNT_ID": "TO-BE-REPLACED" // Destination Account UUID Id , host if Migrating to ServiceFabric standalone environment otherwise provide the actual Account UUID
}
]
{
"SRC_AIC_INSTALLATION_VERSION": "TO-BE-REPLACED", // Values can be : 20.10 OR 21.4
"SRC_SERVER": "TO-BE-REPLACED", // Replicated SQL Server host
"SRC_PKGMANAGER_DB_NAME": "TO-BE-REPLACED", // Replicated SQL Server Pkgmanager DB name
"SRC_PKGMANAGER_DB_SCHEMA": "ai_pkgmanager", // Replicated SQL Server Pkgmanager DB schema, Note : Please check schema in case of multiple dbs in replicated
"SRC_PKGMANAGER_DB_USERNAME": "TO-BE-REPLACED", // Replicated SQL Server Pkgmanager DB Username
"SRC_PKGMANAGER_DB_PASSWORD": "TO-BE-REPLACED", // Replicated SQL Server Pkgmanager DB Password
"SRC_TRAINER_DB_NAME": "TO-BE-REPLACED", // Replicated SQL Server AI-Trainer DB Name
"SRC_TRAINER_DB_SCHEMA": "ai_trainer", // Replicated SQL Server AI-Trainer DB Schema, Note : Please check schema in case of multiple dbs in replicated
"SRC_TRAINER_DB_USERNAME": "TO-BE-REPLACED", // Replicated SQL Server AI-Trainer DB Username
"SRC_TRAINER_DB_PASSWORD": "TO-BE-REPLACED",// Replicated SQL Server AI-Trainer DB Password
"DESTINATION_SERVER": "TO-BE-REPLACED", // Destination SQL Server host i.e ServiceFabric SQL Server host
"DESTINATION_DB_NAME": "TO-BE-REPLACED", // Destination SQL Server DB Name
"DESTINATION_PKGMANAGER_DB_SCHEMA": "ai_pkgmanager",
"DESTINATION_TRAINER_DB_SCHEMA": "ai_trainer",
"DESTINATION_DB_USERNAME": "TO-BE-REPLACED", // Destination SQL Server Username
"DESTINATION_DB_PASSWORD": "TO-BE-REPLACED", // Destination SQL Server Password
"TENANT_MAP": [
{
"SRC_TENANT_ID": "TO-BE-REPLACED", // Source Tenant Id i.e tenant UUID in replicated environment
"DESTINATION_TENANT_ID": "TO-BE-REPLACED", // Destination Tenant Id i.e Tenant UUID in the destination environment
"DESTINATION_ACCOUNT_ID": "TO-BE-REPLACED" // Destination Account UUID Id , host if Migrating to ServiceFabric standalone environment otherwise provide the actual Account UUID
}
]
input.json
file with filled sample values for reference (Please note the below screen shot is for migration from Single Source DB to
Single Destination DB)
{
"SRC_AIC_INSTALLATION_VERSION": "20.10",
"SRC_SERVER": "sankar-sf-migration1sqlserver.database.windows.net",
"SRC_PKGMANAGER_DB_NAME": "aifabric",
"SRC_PKGMANAGER_DB_SCHEMA": "ai_pkgmanager",
"SRC_PKGMANAGER_DB_USERNAME": "test",
"SRC_PKGMANAGER_DB_PASSWORD": "test",
"SRC_TRAINER_DB_NAME": "aifabric",
"SRC_TRAINER_DB_SCHEMA": "ai_trainer",
"SRC_TRAINER_DB_USERNAME": "test",
"SRC_TRAINER_DB_PASSWORD": "test",
"DESTINATION_SERVER": "sfdev2290542-9a5254d2-sql.database.windows.net",
"DESTINATION_DB_NAME": "AutomationSuite_AICenter",
"DESTINATION_PKGMANAGER_DB_SCHEMA": "ai_pkgmanager",
"DESTINATION_TRAINER_DB_SCHEMA": "ai_trainer",
"DESTINATION_DB_USERNAME": "test",
"DESTINATION_DB_PASSWORD": "test",
"TENANT_MAP": [
{
"SRC_TENANT_ID": "d1eb428c-e188-46bf-a1dd-8908f90b4084",
"DESTINATION_TENANT_ID": "03527165-b242-4b98-834f-2eb3e5957223",
"DESTINATION_ACCOUNT_ID": "8cd64e27-12f4-427c-a575-dd4f2ea82551"
}
]
}
{
"SRC_AIC_INSTALLATION_VERSION": "20.10",
"SRC_SERVER": "sankar-sf-migration1sqlserver.database.windows.net",
"SRC_PKGMANAGER_DB_NAME": "aifabric",
"SRC_PKGMANAGER_DB_SCHEMA": "ai_pkgmanager",
"SRC_PKGMANAGER_DB_USERNAME": "test",
"SRC_PKGMANAGER_DB_PASSWORD": "test",
"SRC_TRAINER_DB_NAME": "aifabric",
"SRC_TRAINER_DB_SCHEMA": "ai_trainer",
"SRC_TRAINER_DB_USERNAME": "test",
"SRC_TRAINER_DB_PASSWORD": "test",
"DESTINATION_SERVER": "sfdev2290542-9a5254d2-sql.database.windows.net",
"DESTINATION_DB_NAME": "AutomationSuite_AICenter",
"DESTINATION_PKGMANAGER_DB_SCHEMA": "ai_pkgmanager",
"DESTINATION_TRAINER_DB_SCHEMA": "ai_trainer",
"DESTINATION_DB_USERNAME": "test",
"DESTINATION_DB_PASSWORD": "test",
"TENANT_MAP": [
{
"SRC_TENANT_ID": "d1eb428c-e188-46bf-a1dd-8908f90b4084",
"DESTINATION_TENANT_ID": "03527165-b242-4b98-834f-2eb3e5957223",
"DESTINATION_ACCOUNT_ID": "8cd64e27-12f4-427c-a575-dd4f2ea82551"
}
]
}
input.json
file with filled sample values for reference (Please note the below screen shot is for migration from Multi Source DB to
Single Destination DB)
{
"SRC_AIC_INSTALLATION_VERSION": "20.10",
"SRC_SERVER": "sankar-sf-migration1sqlserver.database.windows.net",
"SRC_PKGMANAGER_DB_NAME": "aifabric_pkgmanager",
"SRC_PKGMANAGER_DB_SCHEMA": "ai_pkgmanager",
"SRC_PKGMANAGER_DB_USERNAME": "test_1",
"SRC_PKGMANAGER_DB_PASSWORD": "test_1",
"SRC_TRAINER_DB_NAME": "aifabric_trainer",
"SRC_TRAINER_DB_SCHEMA": "ai_trainer",
"SRC_TRAINER_DB_USERNAME": "test_2",
"SRC_TRAINER_DB_PASSWORD": "test_2",
"DESTINATION_SERVER": "sfdev2290542-9a5254d2-sql.database.windows.net",
"DESTINATION_DB_NAME": "AutomationSuite_AICenter",
"DESTINATION_PKGMANAGER_DB_SCHEMA": "ai_pkgmanager",
"DESTINATION_TRAINER_DB_SCHEMA": "ai_trainer",
"DESTINATION_DB_USERNAME": "test",
"DESTINATION_DB_PASSWORD": "test",
"TENANT_MAP": [
{
"SRC_TENANT_ID": "d1eb428c-e188-46bf-a1dd-8908f90b4084",
"DESTINATION_TENANT_ID": "03527165-b242-4b98-834f-2eb3e5957223",
"DESTINATION_ACCOUNT_ID": "8cd64e27-12f4-427c-a575-dd4f2ea82551"
}
]
}
{
"SRC_AIC_INSTALLATION_VERSION": "20.10",
"SRC_SERVER": "sankar-sf-migration1sqlserver.database.windows.net",
"SRC_PKGMANAGER_DB_NAME": "aifabric_pkgmanager",
"SRC_PKGMANAGER_DB_SCHEMA": "ai_pkgmanager",
"SRC_PKGMANAGER_DB_USERNAME": "test_1",
"SRC_PKGMANAGER_DB_PASSWORD": "test_1",
"SRC_TRAINER_DB_NAME": "aifabric_trainer",
"SRC_TRAINER_DB_SCHEMA": "ai_trainer",
"SRC_TRAINER_DB_USERNAME": "test_2",
"SRC_TRAINER_DB_PASSWORD": "test_2",
"DESTINATION_SERVER": "sfdev2290542-9a5254d2-sql.database.windows.net",
"DESTINATION_DB_NAME": "AutomationSuite_AICenter",
"DESTINATION_PKGMANAGER_DB_SCHEMA": "ai_pkgmanager",
"DESTINATION_TRAINER_DB_SCHEMA": "ai_trainer",
"DESTINATION_DB_USERNAME": "test",
"DESTINATION_DB_PASSWORD": "test",
"TENANT_MAP": [
{
"SRC_TENANT_ID": "d1eb428c-e188-46bf-a1dd-8908f90b4084",
"DESTINATION_TENANT_ID": "03527165-b242-4b98-834f-2eb3e5957223",
"DESTINATION_ACCOUNT_ID": "8cd64e27-12f4-427c-a575-dd4f2ea82551"
}
]
}
SRC_TENANT_ID can be obtained by following the steps below:
- Click on the UiPath logo on the home page of AI Center application.
- Right click on the browser and go to inspect .Once the inspect window is opened , check the network tab for projects API call. Tenant Id can be seen in the Preview Section as in the screenshot below.
- Add the DNS of the object storage of the Automation Suite machine in the machine executing script. This can be found in the
extension tab of the pipeline from where the Automation Suite environment was created.
sudo bash -c "echo "LB_IP objectstore.DNS_NAME" >> /etc/hosts"
sudo bash -c "echo "LB_IP objectstore.DNS_NAME" >> /etc/hosts"
sfmigration
is downloaded in the Usage directory: Run the following command:
cd ~/migration/ai-customer-scripts/platform/sfmigration/
./mastermigrationscript.sh input.json
cd ~/migration/ai-customer-scripts/platform/sfmigration/
./mastermigrationscript.sh input.json
The tenant needs to be created in the Automation Suite environment before running the migration script.
The migration script is meant to migrate datasets and ML packages only once. On rare occasions, there are some extra datasets or ML packages added in the source environment post migration is complete then in this case the migration needs to be re-run. Run the following commands in the destination database before re-running the migration:
delete from [ai_pkgmanager].[ml_package_versions_temp];
delete from [ai_pkgmanager].[projects] where tenant_id in ('T1','T2',...);
delete from [ai_pkgmanager].[ml_packages] where tenant_id in ('T1','T2',...);
delete from [ai_pkgmanager].[ml_package_versions] where tenant_id in ('T1','T2',...);
delete from [ai_trainer].[datasets] where tenant_id in ('T1','T2',...);
delete from [ai_pkgmanager].[ml_package_versions_temp];
delete from [ai_pkgmanager].[projects] where tenant_id in ('T1','T2',...);
delete from [ai_pkgmanager].[ml_packages] where tenant_id in ('T1','T2',...);
delete from [ai_pkgmanager].[ml_package_versions] where tenant_id in ('T1','T2',...);
delete from [ai_trainer].[datasets] where tenant_id in ('T1','T2',...);
'T1'
,'T2'
,... in the query above are the tenant UUIDs in the destination environment. These are the DESTINATION_TENANT_ID as mentioned
in the input.json
file passed while running migration script ./mastermigrationscript.sh input.json
You can then re-run the migration using the following commands:
cd ~/migration/ai-customer-scripts/platform/sfmigration/
./mastermigrationscript.sh input.json
cd ~/migration/ai-customer-scripts/platform/sfmigration/
./mastermigrationscript.sh input.json
VALIDATION_FAILED
in the Automation Suite environment. These packages need to be cloned again in the destination environment once the migration
is complete.
- Overview
- Prerequisites
- Procedure
- Step 1: Create a tenant with the same name in the Automation Suite or new AI Center environment
- Step 2: Generate the Storage-creds.json file on the first machine (also referred as source machine)
- Step 3: Generate the Storage-creds.json file on the second machine
- Step 4: Configure the machine executing the script
- Step 5: Run the migration script
- Troubleshooting
- Creating tenants
- Re-running the migration
- Cloned packages