Automation Suite
2022.10
false
Banner background image
Automation Suite Installation Guide
Last updated Apr 24, 2024

Validating the prerequisites in a multi-node HA-ready production setup

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;
  • net.ipv4.conf.all.rp_filter is disabled (set to 0).

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

Note: 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

  1. Become root by running the following command:

    sudo su -sudo su -
  2. 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}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}
  3. Unzip the package by running the following command:

    unzip sf-installer.zip -d installerunzip sf-installer.zip -d installer
  4. Assign the necessary permissions and navigate to the script folder by running the following command:

    chmod -R 755 installer
    cd installerchmod -R 755 installer
    cd installer

Script Parameters

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

./validateUiPathASReadiness.sh --help./validateUiPathASReadiness.sh --help

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
******************************************************************************************************************************************************************************
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

  1. 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./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./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.
2. 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/UiPathAutomationSuitescp /opt/UiPathAutomationSuite/cluster_config.json <username>@<node dns>:/opt/UiPathAutomationSuite
Note:
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./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./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./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./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./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./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

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo White
Trust and Security
© 2005-2024 UiPath. All rights reserved.