- Overview
- Requirements
- Installation
- Post-installation
- Cluster administration
- Managing products
- Managing the cluster in ArgoCD
- Setting up the external NFS server
- Automated: Enabling the Backup on the Cluster
- Automated: Disabling the Backup on the Cluster
- Automated, Online: Restoring the Cluster
- Automated, Offline: Restoring the Cluster
- Manual: Enabling the Backup on the Cluster
- Manual: Disabling the Backup on the Cluster
- Manual, Online: Restoring the Cluster
- Manual, Offline: Restoring the Cluster
- Additional configuration
- Migrating objectstore from persistent volume to raw disks
- Monitoring and alerting
- Migration and upgrade
- Migration options
- 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 Insights
- Step 7: Deleting the default tenant
- B) Single tenant migration
- Product-specific configuration
- Best practices and maintenance
- Troubleshooting
- How to Troubleshoot Services During Installation
- How to Uninstall the Cluster
- How to clean up offline artifacts to improve disk space
- How to clear Redis data
- How to enable Istio logging
- How to manually clean up logs
- How to clean up old logs stored in the sf-logs bundle
- How to disable streaming logs for AI Center
- How to debug failed Automation Suite installations
- How to delete images from the old installer after upgrade
- How to automatically clean up Longhorn snapshots
- How to disable NIC checksum offloading
- Unable to run an offline installation on RHEL 8.4 OS
- Error in Downloading the Bundle
- Offline installation fails because of missing binary
- Certificate issue in offline installation
- First installation fails during Longhorn setup
- SQL connection string validation error
- Prerequisite check for selinux iscsid module fails
- Azure disk not marked as SSD
- Failure After Certificate Update
- Automation Suite not working after OS upgrade
- Automation Suite Requires Backlog_wait_time to Be Set 1
- Volume unable to mount due to not being ready for workloads
- RKE2 fails during installation and upgrade
- Failure to upload or download data in objectstore
- PVC resize does not heal Ceph
- Failure to Resize Objectstore PVC
- Rook Ceph or Looker pod stuck in Init state
- StatefulSet volume attachment error
- Failure to create persistent volumes
- Storage reclamation patch
- Backup failed due to TooManySnapshots error
- All Longhorn replicas are faulted
- Setting a timeout interval for the management portals
- Update the underlying directory connections
- Cannot Log in After Migration
- Kinit: Cannot Find KDC for Realm <AD Domain> While Getting Initial Credentials
- Kinit: Keytab Contains No Suitable Keys for *** While Getting Initial Credentials
- GSSAPI Operation Failed With Error: An Invalid Status Code Was Supplied (Client's Credentials Have Been Revoked).
- Alarm Received for Failed Kerberos-tgt-update Job
- SSPI Provider: Server Not Found in Kerberos Database
- Login Failed for User <ADDOMAIN><aduser>. Reason: The Account Is Disabled.
- ArgoCD login failed
- Failure to get the sandbox image
- Pods not showing in ArgoCD UI
- Redis Probe Failure
- RKE2 Server Fails to Start
- Secret Not Found in UiPath Namespace
- After the Initial Install, ArgoCD App Went Into Progressing State
- MongoDB pods in CrashLoopBackOff or pending PVC provisioning after deletion
- Unexpected Inconsistency; Run Fsck Manually
- Degraded MongoDB or Business Applications After Cluster Restore
- Missing Self-heal-operator and Sf-k8-utils Repo
- Unhealthy Services After Cluster Restore or Rollback
- RabbitMQ pod stuck in CrashLoopBackOff
- Prometheus in CrashloopBackoff state with out-of-memory (OOM) error
- Missing Ceph-rook metrics from monitoring dashboards
- Using the Automation Suite Diagnostics Tool
- Using the Automation Suite Support Bundle Tool
- Exploring Logs
Updating the Orchestrator configuration
Update the Orchestrator configuration. Make sure to review the following:
- Custom configuration from
UiPath.Orchestrator.dll.config
- Any
web.config
settings. - Storage (packages, execution media, and buckets data) - mostly applicable to
Storage.Type=FileSystem
- Custom NLog targets.
- Custom credential stores.
- Encryption key per tenant configuration.
You can simplify many of the following steps by using the provided Orchestrator Configurator Tool.
orchestrator_configurator.sh
bash tool can update the Orchestrator custom config map and upload files to the Orchestrator well-known blob storage locations.
Use the -y
parameter to skip confirmation of the proposed actions.
orchestrator-customconfig
config map using a tool such as Lens or kubectl.
values.json
file. The Orchestrator deployment should restart automatically after this configuration change.
{
"Kestrel": {
"Limits": {
"MaxRequestBodySize": 314572800
}
}
{
"Kestrel": {
"Limits": {
"MaxRequestBodySize": 314572800
}
}
appSettings.custom.json
file edited in the pre-migration steps now contains all the customization needed in the appSettings
section. You need to place this .json
file in the orchestrator-customconfig
config map, in the values.json
file, under the appSettings
key.
{
"ExampleSetting.Enabled": true,
"ExampleSetting.Type": "BasicExample",
"ExampleSetting.Count": 3
}
{
"ExampleSetting.Enabled": true,
"ExampleSetting.Type": "BasicExample",
"ExampleSetting.Count": 3
}
-c|--app-settings
parameter:
./orchestrator-configurator.sh -c appSettings.custom.json
./orchestrator-configurator.sh -c appSettings.custom.json
If using the configurator tool, go through all the steps to gather all required appSettings overrides, and run the script once at the end.
/var/orchestator/data
path.
kubectl cp
, using the -s|--storage-folder
parameter:
./orchestrator-configurator.sh -s blobstoragefolder
./orchestrator-configurator.sh -s blobstoragefolder
storage
folder becomes the content of the /var/orchestrator/data
folder.
To use network FileStore, edit the Orchestrator ArgoCD app parameters, and set the following:
storage.type = smb
storage.smb.domain
storage.smb.password
storage.smb.source
storage.smb.username
storage.smb.size
To configure other storage options, edit the Orchestrator ArgoCD app parameters and set the following:
storage.type
to the desired provider (Azure, AWS, Minio)storage.connectionString
Overview of the Orchestrator app storage settings:
Orchestrator web browser access to Amazon and Azure storage buckets can be restricted due to the same-origin policy on the provider side. Successfully accessing the content of such a bucket requires you to configure the respective provider to allow cross-origin requests from Orchestrator.
See instructions on how to configure each provider to allow cross-origin requests from Orchestrator.
Ceph
, in the uipath
bucket. The Orchestrator pod will then be able to load them at startup. You also need to place the configuration in orchestrator-customconfig
in the nlog.json
file.
-n|--nlog-extensions-folder
and -l|--nlog-config-file
parameters.
./orchestrator-configurator.sh -n nlogextensions -l nlog.custom.json
./orchestrator-configurator.sh -n nlogextensions -l nlog.custom.json
/var/orchestrator/plugins/nlog
. The configurator automatically updates the assemblyFile paths, prepending the plugins path to them.
appsettings.custom.json
, so there are no more required configuration updates.
values.json
file of orchestrator-customconfig
under the appSettings section.
/var/orchestrator/plugins/securestore/
path.
-p|--securestore-plugins-folder
parameter:
./orchestrator-configurator.sh -p securestoreplugins
./orchestrator-configurator.sh -p securestoreplugins
orchestrator-generated-secrets
Kubernetes secret by overwriting the value of APPSETTINGS__EncryptionKey
. To do this, run the following command:ENCRYPT_KEY=$(echo <key>|base64 -w 0)
kubectl -n uipath patch secret orchestrator-generated-secrets --type='json' \
-p="[{'op': 'replace', 'path': '/data/APPSETTINGS__EncryptionKey', 'value':'$ENCRYPT_KEY'}]"
ENCRYPT_KEY=$(echo <key>|base64 -w 0)
kubectl -n uipath patch secret orchestrator-generated-secrets --type='json' \
-p="[{'op': 'replace', 'path': '/data/APPSETTINGS__EncryptionKey', 'value':'$ENCRYPT_KEY'}]"
<key>
with the value of the key retrieved from UiPath.Orchestrator.dll.config
.