Prepare for installation
Prepare the INT Server
Extract installation packages
To extract installation packages:
Log in to the INT server as a user with the root privileges, by using Linux Terminal, Windows PuTTY, or any other SSH client:
Example: Linux Terminal
$ ssh -i <path-to-private-key.pem> <username>@<hostname.example.com> $ sudo su - rootCreate the
INSTALL_DIRdirectory, for example, /opt/workfusion/. Grant the read access for this directory to all users, and make sure that the Linux installation user is an owner of the installation directory:$ mkdir -p /opt/workfusion/ $ chmod 0755 /opt/workfusion/ $ sudo chown -R <username>:<username> /opt/workfusion/In the
INSTALL_DIRdirectory, create a directory for the WorkFusion installation package, for example, /opt/workfusion/wf_installer. Grant the read access for this directory to all users, and make sure that the Linux installation user is an owner of the installation directory:$ mkdir -p /opt/workfusion/wf_installer $ chmod 0755 /opt/workfusion/wf_installer $ sudo chown -R <username>:<username> /opt/workfusion/wf_installerExtract the downloaded package to the directory:
$ tar -xzvf /opt/workfusion/workfusion-full-package-<version>.tar.gz --strip 1 -C /opt/workfusion/wf_installerRepeat the above steps on all Linux servers.
Configure installation
Before configuring the installation, remember to:
- Configure a load balancer.
- On a separate server, create a shared directory INSTALL_DIR/shared and mount it to the INT and APP servers.
- On a separate server (may be the same as above), create a shared directory INSTALL_DIR/vds-data and mount it to the BEP Master and BEP Agents servers.
To configure installation:
On your INT Server, in the
PACKAGE_DIRdirectory, edit the hosts.yml configuration file. The vi text editor is used in the example below:$ vi hosts.ymlSpecify the domain name of each component. Existing DNS names must be mapped to the IP address of the load balancer. If MS SQL is already configured in the AlwaysOn mode, the IP address of the MS SQL listener must be specified in mssql_hostname. See DNS Names Configuration.
vault_lb_hostname: host-vault-lb1.example.com minio_lb_hostname: host-minio-lb1.example.com nexus_lb_hostname: host-nexus-lb1.example.com rabbitmq_lb_hostname: host-rabbitmq-lb1.example.com mesos_lb_hostname: host-mesos-lb1.example.com marathon_lb_hostname: host-marathon-lb1.example.com workspace_lb_hostname: host-workspace-lb1.example.com workfusion_lb_hostname: host-workfusion-lb1.example.com bot_manager_lb_hostname: host-bot-manager-lb1.example.com kibana_lb_hostname: host-kibana-lb1.example.com ocr_lb_hostname: host-ocr-lb1.example.com bi_lb_hostname: host-bi-lb1.example.com mssql_hostname: <listener-ip-address> int_hostnames: host-int1.example.com,host-int2.example.com,host-int3.example.com app_hostnames: host-ct1.example.com,host-ct2.example.com ocr_hostnames: host-ocr1.example.com,host-ocr2.example.com bi_hostnames: host-bi1.example.com,host-bi2.example.com bep_master_hostnames: host-bepmaster1.example.com,host-bepmaster2.example.com,host-bepmaster3.example.com bep_agent_hostnames: host-bepagent1.example.com,host-bepagent2.example.com rpa_hostnames: host-rpa1.example.com,host-rpa2.example.comRefer to the hosts.yml options section for more details on each option.
On your INT Server, in the directory, open config.yml, and in the
ansible_vault_passwordparameter, change the password.$ vi config.ymlThe password is used for encrypting the config.yml at the following step and will be asked several times during the installation of the components. We strongly recommend to secure and memorize it. When creating passwords, make sure they are strong enough and meet the following requirements:

If needed, change the other secrets and parameters as well. After that, save the changes and close the file.
In config.yml, in section HA mode, set the following parameters to enable high-availability mode in Intelligent Automation Cloud Enterprise.
ha_mode: true– enable the HA mode.common_nfs_share: '{{ install_dir }}/shared'– specify the customer-provided shared directory that is mounted to the Linux servers.
Optionally, on the INT server, run the following command to automatically generate passwords for the WorkFusion internal services according to product policies. We strongly recommend to change them manually for security reasons. Note that the command doesn't generate end-user password.
$ ./install.sh passwords generateAs a result, in config.yml, the passwords for most services, except for the following end-user ones, are created:
"wf_password" "ldap_bind_password" "mail_pass" "tableau_dashboard_pass" "tableau_automation_pass" "windows_installation_pass" "elk_admin_pass" "ansible_vault_password” "bot_relay_user_pass" "bot_user_pass"If you prefer to set the passwords manually, remember to use only Latin letters and allowed symbols. If needed, change other secrets and parameters, as well. After that, save and close the file.
Remember to specify the corresponding MS SQL login names and passwords, that you have created earlier, in the
#MSSQLsection.Encrypt config.yml.
$ ./install.sh encrypt configNow config.yml is encrypted via ansible-vault with the password that you have provided earlier.
If needed, you can edit the encrypted file with the following command:
$ ./install.sh edit_config intEnter
ansible_vault_password, when asked.Prepare the TLS certificates, as described in Prepare certificates.
Distribute the PACKAGE_DIR/certificates folder, along with config.yml files across all other Linux servers:
Create the wf_configs.tar.gz archive with these files:
$ tar czvf wf_configs.tar.gz certificates config.yml hosts.ymlCopy wf_configs.tar.gz to all other servers.
For that a python SimpleHTTPServer can be used. Start the HTTP server on any INT Server's port, which is accessible by other servers:
Example: SimpleHTTPServer is on port 9999
python -m SimpleHTTPServer 9999After running this command in a specific directory, the content of the directory can be downloaded via HTTP.
Prepare other Linux servers
The following steps must be performed on each other Linux server.
To prepare another Linux server:
Log in to a targer server, as a root user, and download wf_configs.tar.gz from the INT server:
$ cd /opt/workfusion/wf_installer # install wget if not installed $ yum -y install wget $ wget http://int_hostname:9999/wf_configs.tar.gz -O wf_configs.tar.gzUnpack configuration files and certificates:
$ tar xzvf wf_configs.tar.gz -C /opt/workfusion/wf_installer/
Install the WorkFusion license
The following step must be performed on APP Server.
To install the license, copy the provided license.properties file to the PACKAGE_DIR directory, for example, /opt/workfusion/wf_installer/license.properties.