Subscribe

UiPath Automation Suite

The UiPath Automation Suite Guide

Validating the prerequisites in a single-node evaluation setup

Verify if your single-node evaluation environment meets the requirements before installing Automation Suite using the dedicated scripts.

Overview


Before installing Automation Suite, it is good practice to validate the installation prerequisites and infrastructure readiness. You can use the validateUiPathASReadiness.sh script to evaluate your environment and generate a summary before performing the installation.

ValidationDescription
Hardware requirementsValidates that each machine in the cluster meets the hardware requirements. The check takes into account the following aspects:
server, agent, or tainted node;
online or offline system;
single-node evaluation profile or multi-node HA-ready production profile.
Disk partitioning and configurationValidates that you properly partitioned and configured the disk. The check takes into account the following aspects:
server or agent node;
online or offline system;
SQL Server connectivityValidates the connectivity to the configured SQL Server and database. The check takes into account the following aspects:
connectivity to the SQL Server host (endpoint) on a given endpoint;
connectivity to the principal database if create_db is set to true;
create database (dbcreator) permissions if create_db is set to true;
create schema (db_ddladmin), read (db_datareader), and write (db_datawriter) permissions;
connectivity to the database when create_db is set to false;
special requirements for each service. For instance, for Insights, the script checks the columnstore index, json support, and whether SQL Server compatibility level is >= 130;
connectivity to the database and SQL Server with integrated authentication.
Server certificateChecks that the server certificate you provided is valid. The check takes into account the following aspects:
the certificate file format is .pem, i.e. Base64-encoded DER certificate;
the private key length is at least 2048;
Extended Key Usage and TLS Web Server Authentication, required for accessing Automation Suite on iOS devices;
Subject Alternative Name for all the required DNS entries;
server certificate and private key match;
the CA bundle you provided is actually the issuer of the server certificate;
the certificate validity is more than 30 days.
Token-signing certificateChecks that the token-signing certificate you provided is valid. The check takes into account the following aspects:
the certificate is in pfx format;
the password for decrypting the certificate is valid;
the certificate validity is more than 30 days.
ProxyValidates that you properly configure the proxy. The check takes into account the following aspects:
https_proxy, http_proxy, and no_proxy are set as environment variables on the machine;
the proxy server is reachable.
ConnectivityValidates that all machines can connect to each other, that all the required URLs are on the firewall allowlist, and more. The check takes into account the following aspects:
the FQDN of Automation Suite and the FQDN of all the other subdomains are resolvable from the machine;
in an online setup, all the external URLs are reachable from the machine;
all servers, agents, and tainted nodes can connect to each other on the required ports;
the outbound connections (URLs) are resolvable via all the nameservers present in /etc/resolve.conf;
if any of the URLs is not resolvable via all the nameservers, then at least one nameserver can resolve all the URLs;
either the TCP or UDP protocol is allowed;
fixed_rke_address is set to port 9345 and 6443;
a response is issued when a call is made to the FQDN on port 443.
System servicesValidates that system services are properly configured. The check takes into account the following aspects:
nm-cloud-setup.service, nm-cloud-setup.timer, firewalld are disabled;
iscsi-initiator-utils is installed and enabled;
auditd is properly configured for --backlog_wait_time set as 1;
logrotate is properly configured.
Software requirementsValidates that all the required software is installed. If some software is not installed, the install-uipath.sh installer attempts to install it.

 

Using the script to validate installation prerequisites


Downloading the script

📘

Offline installations

For offline installations, you must perform this step on a machine with access to internet and to the air-gapped machines where Automation Suite is deployed. Copy the file from the online machine to the first target machine.

The prerequisite script is packaged along with the installer in an archive called sf-installer.zip, and supporting tools are bundled as sf-infra.tar.gz for offline only. You need these files to generate a report on all the machines on which you plan to install Automation Suite.

Installation typeFiles to download
Onlinesf-installer.zipMandatory. For download instructions, see sf-installer.zip.
Offlinesf-installer.zipMandatory. For download instructions, see sf-installer.zip.
sf-infra.tar.gzMandatory. For download instructions, see sf-infra.tar.gz.

Preparing to use the script

  1. Become root by running the following command:
sudo su -
  1. Copy the files to the /opt/UiPathAutomationSuite/{version} folder by running the following command:
VERSION="" #add the version number you are trying to install. Ex: for 2022.4.0 Set VERSION="2022.4.0"

mkdir -p /opt/UiPathAutomationSuite/${VERSION}

# For below command replace the /path/to where actually the files are present.

cp /path/to/sf-installer.zip /opt/UiPathAutomationSuite/${VERSION}

# Additionally for offline, copy sf-infra.tar.gz as well to /opt/UiPathAutomationSuite/{VERSION} folder

cp /path/to/sf-infra.tar.gz /opt/UiPathAutomationSuite/${VERSION}

cd /opt/UiPathAutomationSuite/${VERSION}
  1. Unzip the package by running the following command:
unzip sf-installer.zip -d installer
  1. Assign the necessary permissions and navigate to the script folder by running the following command:
chmod -R 755 installer
cd installer

Script parameters

To view the help section and supported flags, run the following command:

./validateUiPathASReadiness.sh --help
Click here to see the output.
***************************************************************************************

validateUiPathASReadiness.sh Runs pre-install validation checks

Usage:
  validateUiPathASReadiness.sh [command]
  validateUiPathASReadiness.sh [flags]

Available Commands:
  validate-packages                                     Validate that required packages are installed
  install-packages                                      Install required packages. If --install-type offline, this will also install offline required packages

Arguments:
 -i|--input                                             Specify cluster config json file. Defaults to /opt/UiPathAutomationSuite/cluster_config.json
 -d|--debug                                             Debug mode to get additional details helpful for debugging
 -m|--machines                                          Comma separated IP address / hostnames of all the machines
 -n|--node-type                                         Possible values [server|agent|taskmining|asrobots|gpu]. Defaults to server
 --install-type                                         Possible values [online|offline]. Defaults to online
 --prereq-bundle </uipath/offline_bundle.tar.gz>        Specify the path to the prereq bundle
 --prereq-tmp-folder </uipath>                          Specify parent directory for the temporary install folder
 --kubeconfig                                           Specify path to the kubeconfig file
 -h|--help                                              Display help

***************************************************************************************

The following table describes the parameters you can use when running the script:

ParameterDescription
-i|--inputAccepts the cluster_config.json file as input. This file defines the parameters, settings, and preferences applied to the UiPath services deployed via Automation Suite. For details, see Advanced Installation Experience.

If you do not provide this file, the script will trigger the interactive experience to collect these inputs. The file will then be generated on your behalf.
-d|--debugDebug mode to get additional details helpful for debugging.
-m|--machinesAccepts comma-separated IP address / hostnames of all the machines. This is required to check the connectivity between all the nodes on the required port.

The parameter is mandatory for multi-node HA-ready production installations. In addition to that, the parameter is also required if you plan to add a Task Mining, GPU, or Automation Suite Robots node in a single-node evaluation cluster.
-n|--node-typeAccepts the type of the current node. Possible values are: server, agent, task-mining, gpu, or asrobots.
The default value is server.
--install-typeAccepts the installation method: online or offline.
The default value is online.
--prereq-bundleAccepts the absolute path where the sf-infra.tar.gz is located.
--prereq-tmp-folderAccepts the absolute path where sf-infra.tar.gz bundle will be temporarily extracted. If this path is not provided, the installer will select the /tmp folder.
--kubeconfigSpecify the path to the kubeconfig file.
validate-packagesValidates the required RPM packages.
install-packagesInstalls the required RPM packages for online installation.
install-packages --install-type offlineInstalls the RPM required packages for offline installation.

 

Validating a single-node evaluation setup


 
Online

To validate a single-node evaluation machine, run the following command:

./validateUiPathASReadiness.sh \
  --node-type server \ # replace server with task-mining, gpu if you wish to install.
  --install-type online

Offline

To validate a single-node machine, run the following command:

./validateUiPathASReadiness.sh \
  --node-type server \
  --install-type offline \
  --prereq-bundle ../sf-infra.tar.gz \ 
  --prereq-tmp-folder /opt/UiPathAutomationSuite/tmp

To validate a specialized agent node used for Task Mining, GPU, or Automation Suite Robots, take the following steps:

  1. Copy the cluster_config.json file generated on the server machine to all the agent machines:
scp /opt/UiPathAutomationSuite/cluster_config.json <username>@<node dns>:/opt/UiPathAutomationSuite

📘

Note:

If you are unable to copy the file to the /opt/UiPathAutomationSuite folder due to permission error, you can temporarily copy it to /var/tmp on the new machines, and then move it to /opt/UiPathAutomationSuite.

Alternatively, you can also provide full access permissions (777) to the /opt/UiPathAutomationSuite folder on the new machines, by running the following command: chmod -R 777 /opt/UiPathAutomationSuite.

  1. To validate the environment, run the following command on agent machines:

📘

Note:

Make sure to use the suitable parameter to identify your specialized agent node:

  • for Task Mining machines, use --node-type task-mining
  • for GPU machines, use --node-type gpu
  • For Automation Suite Robots machines, use --node-type asrobots

Online

./validateUiPathASReadiness.sh \
  --input /opt/UiPathAutomationSuite/cluster_config.json \
  --node-type task-mining \ #replace with gpu for GPU node or asrobots for Automation Suite Robots node
  --install-type online \ #replace with offline for airgap
  --machines "10.0.1.8, 10.0.1.9" #replace with actual machine IP of all the nodes in cluster

Offline

./validateUiPathASReadiness.sh \
  --input /opt/UiPathAutomationSuite/cluster_config.json \
  --node-type task-mining \ #replace with gpu for GPU node or asrobots for Automation Suite Robots node
  --install-type offline 
  --prereq-bundle ../sf-infra.tar.gz \ 
  --prereq-tmp-folder /opt/UiPathAutomationSuite/tmp \
  --machines "10.0.1.8, 10.0.1.9" #replace with actual machine IP of all the nodes in cluster

 

Updated 2 months ago


Validating the prerequisites in a single-node evaluation setup


Verify if your single-node evaluation environment meets the requirements before installing Automation Suite using the dedicated scripts.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.