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.
Validation | Description |
---|---|
Hardware requirements | Validates 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 configuration | Validates that you properly partitioned and configured the disk. The check takes into account the following aspects: server or agent node; online or offline system; primary or secondary server node. |
SQL Server connectivity | Validates 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 certificate | Checks 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 certificate | Checks 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. |
Proxy | Validates 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. |
Connectivity | Validates 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 services | Validates 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 requirements | Validates 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 type | Files to download |
---|---|
Online | sf-installer.zip – Mandatory. For download instructions, see sf-installer.zip. |
Offline | sf-installer.zip – Mandatory. For download instructions, see sf-installer.zip.sf-infra.tar.gz – Mandatory. For download instructions, see sf-infra.tar.gz. |
Preparing to use the script
- Become root by running the following command:
sudo su -
- 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}
- Unzip the package by running the following command:
unzip sf-installer.zip -d installer
- 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:
Parameter | Description |
---|---|
-i|--input | Accepts 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|--debug | Debug mode to get additional details helpful for debugging. |
-m|--machines | Accepts 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-type | Accepts the type of the current node. Possible values are: server , agent , task-mining , gpu , and asrobots .The default value is server . |
--install-type | Accepts the installation method: online or offline .The default value is online . |
--prereq-bundle | Accepts the absolute path where the sf-infra.tar.gz is located. |
--prereq-tmp-folder | Accepts 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. |
--kubeconfig | Specify the path to the kubeconfig file. |
validate-packages | Validates the required RPM packages. |
install-packages | Installs the required RPM packages for online installation. |
install-packages --install-type offline | Installs the RPM required packages for offline installation. |
Validating a multi-node HA-ready production setup
On the first server machine
- To validate the first server machine, run the following command:
Online
./validateUiPathASReadiness.sh \
--node-type server \
--install-type online \
--machines "10.0.1.8, 10.0.1.9" #replace with actual machine IPs of all the nodes in cluster
Offline
./validateUiPathASReadiness.sh \
--node-type server \
--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 IPs of all the nodes in cluster
Once this script is executed, it generate sa cluster_config.json
file under the /opt/UiPathAutomationSuite
folder. This file is required on all the other machines.
- To copy the
cluster_config.json
file on the other machines, run the following command:
scp /opt/UiPathAutomationSuite/cluster_config.json <username>@<node dns>:/opt/UiPathAutomationSuite
Tip
If you cannot copy the file to the
/opt/UiPathAutomationSuite
folder due to permission errors, 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
.
On the other server machines
To validate the other server machines, run the following command:
Online
./validateUiPathASReadiness.sh \
--input /opt/UiPathAutomationSuite/cluster_config.json \
--node-type server \
--install-type online \
--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 server \
--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
On agent machines
To validate the agent machines, run the following command:
Online
./validateUiPathASReadiness.sh \
--input /opt/UiPathAutomationSuite/cluster_config.json \
--node-type agent \
--install-type online \
--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 agent \
--install-type offline \ #replace with offline for airgap
--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
On specialized agent machines
To validate the Task Mining, GPU, or Automation Suite Robots machines, run the following command:
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 \
--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