Upgrade from v9.2.3 to v9.2.5
The guide describes the steps to upgrade SPA from v9.2.3 to v9.2.5.
Prerequisites
- You have WorkFusion SPA 9.2.3 installed.
- All actions for the upgrade from 9.2.3 to 9.2.5 must be performed as <WF_USER>. The Root user is not required.
Upgrade procedure
Prepare nodes for patching
Stop services on all Linux servers:
On each Linux server stop all workfusion services:
$ wfmanager stop allOn each Linux server, except vdsslave, create the patch directory, download and extract the patch into it:
$ mkdir -pv <install_dir>/patches/patch_9.2.5 $ cd <install_dir>/patches/patch_9.2.5 $ curl -o 'patch_9.2.5.tar.gz' '<patch download url>' $ tar xzf patch_9.2.5.tar.gzYou will see the following directory structure as a result:
drwxrwxr-x. 2 wfuser wfuser 38 Jan 24 11:32 apm drwxrwxr-x. 2 wfuser wfuser 89 Feb 13 10:36 ct drwxrwxr-x. 3 wfuser wfuser 228 Feb 13 10:36 db drwxrwxr-x. 2 wfuser wfuser 39 Feb 13 10:36 logstash drwxrwxr-x. 2 wfuser wfuser 64 Jan 24 12:21 ocr -rwxrwxr-x. 1 wfuser wfuser 14086 Feb 12 11:50 patch_9.2.5.sh -rw-rw-r--. 1 wfuser wfuser 1730335096 Feb 13 10:36 patch_9.2.5.tar.gz drwxrwxr-x. 2 wfuser wfuser 93 Feb 13 10:36 rabbitmq drwxrwxr-x. 2 wfuser wfuser 76 Feb 13 10:36 rpa -rwxrwxr-x. 1 wfuser wfuser 43 Feb 12 11:50 vars
Upgrade DB server
On the DB server, fill in the credentials for MySQL server in file "<install_dir>/patches/patch_9.2.5/vars":
export MYSQL_ADMIN='<put your mysql admin username here>' export MYSQL_PASS='<put your mysql admin password here>'On the DB server, verify the correctness of entered credentials:
$ source <install_dir>/patches/patch_9.2.5/vars $ <install_dir>/mysql/usr/bin/mysqlcheck -h 127.0.0.1 -P 3306 -u$MYSQL_ADMIN -p$MYSQL_PASS --check-upgrade --all-databasesYou will see a similar output:
mysql.columns_priv OK mysql.db OK ........ (lots of similar output) ..... wfdb.worker_interest OK wfdb.workeractivitylog_test OKOn the DB server, execute the following command:
$ cd <install_dir>/patches/patch_9.2.5 $ ./patch_9.2.5.sh upgrade_dbYou will see the following output:
Tue Jan 28 15:11:48 UTC 2020 Updating DB server to version: 9.2.5 Tue Jan 28 15:11:48 UTC 2020 Updating PostgreSQL server to version: 9.5.20 Tue Jan 28 15:11:51 UTC 2020 Backing up PostgreSQL binaries... mkdir: created directory ‘backup’ mkdir: created directory ‘backup/postgres’ Tue Jan 28 15:11:56 UTC 2020 Extracting PostgreSQL binaries... Tue Jan 28 15:12:00 UTC 2020 Extracting PostgreSQL additional components... Tue Jan 28 15:12:03 UTC 2020 PostgreSQL update completed Tue Jan 28 15:12:03 UTC 2020 Updating MongoDB server to version: 3.6.15 Tue Jan 28 15:12:06 UTC 2020 Backing up MongoDB binaries... mkdir: created directory ‘backup/mongodb’ mkdir: created directory ‘backup/mongodb/bin’ Tue Jan 28 15:12:09 UTC 2020 Temporarily disabling MongoDB user authentication Tue Jan 28 15:12:12 UTC 2020 Extracting MongoDB 3.4 binaries... Tue Jan 28 15:12:18 UTC 2020 Updating MongoDB feature compatibility version to 3.4 mongodb_db: started MongoDB shell version v3.4.23 connecting to: mongodb://127.0.0.1:27016/ MongoDB server version: 3.4.23 { "ok" : 1 } Update to version 3.4 was successful. Continue updating to version 3.6 mongodb_db: stopped Tue Jan 28 15:12:23 UTC 2020 Extracting MongoDB 3.6 binaries... Tue Jan 28 15:12:29 UTC 2020 Updating MongoDB feature compatibility version to 3.6 Tue Jan 28 15:12:29 UTC 2020 Ensure MongoDB accepts external connections mongodb_db: started MongoDB shell version v3.6.15 connecting to: mongodb://127.0.0.1:27016/?gssapiServiceName=mongodb Implicit session: session { "id" : UUID("c87ca6fb-fd95-4e74-a223-280a563e3f92") } MongoDB server version: 3.6.15 { "ok" : 1 } Tue Jan 28 15:12:34 UTC 2020 Enabling back MongoDB user authentication mongodb_db: stopped Tue Jan 28 15:12:37 UTC 2020 MongoDB update completed Tue Jan 28 15:12:38 UTC 2020 Backing up mysql binaries... mkdir: created directory ‘backup/mysql’ Tue Jan 28 15:13:01 UTC 2020 Extracting mysql components... Tue Jan 28 15:13:10 UTC 2020 Restoring mysql configuration... Tue Jan 28 15:13:13 UTC 2020 Verifying mysql upgrade status. Admin credentials required. Please, wait for 'Enter password' prompt when mysql service starts mysql: started Enter password: mysql.columns_priv OK mysql.db OK ........ (lots of similar output) ..... wfdb.worker_interest OK wfdb.workeractivitylog_test OK Tue Jan 28 15:13:28 UTC 2020 Mysql update completed. Check for any errors in output Tue Jan 28 15:13:29 UTC 2020 DB server patching completedInspect the output of the MySQL status for any errors or not-ok statuses. It must return the status 'OK' for each test, as in the example earlier. If the check is successful, execute the following command to update the database schema:
$ cd <install_dir> $ mysql/usr/bin/mysql_upgrade -h 127.0.0.1 -P 3306 -u$MYSQL_ADMIN -p$MYSQL_PASS
Upgrade VDS Master server
To upgrade VDS Master, on the vdsmaster server, execute the following command:
$ cd <install_dir>/patches/patch_9.2.5
$ ./patch_9.2.5.sh upgrade_vdsmaster
You will see the following output:
Tue Jan 28 15:24:22 UTC 2020 Updating vdsmaster server to version: 9.2.5
Tue Jan 28 15:24:22 UTC 2020 Backing up rabbitmq binaries...
mkdir: created directory ‘backup’
mkdir: created directory ‘backup/rabbitmq’
Tue Jan 28 15:24:25 UTC 2020 Extracting rabbitmq components...
Tue Jan 28 15:24:29 UTC 2020 Backing up erlang binaries...
mkdir: created directory ‘backup/erlang’
Tue Jan 28 15:24:32 UTC 2020 Extracting erlang components...
Tue Jan 28 15:24:36 UTC 2020 Restoring RabbitMQ database...
Tue Jan 28 15:24:39 UTC 2020 rabbitmq update completed
Tue Jan 28 15:24:40 UTC 2020 vdsmaster server patching completed
Upgrade APM server
To upgrade APM, on the APM server, execute the following command:
$ cd <install_dir>/patches/patch_9.2.5
$ ./patch_9.2.5.sh upgrade_apm
You will see the following output:
Tue Jan 28 15:22:19 UTC 2020 Updating APM server to version: 9.2.5
Tue Jan 28 15:22:19 UTC 2020 Updating Logstash server to version: 6.8.4
Tue Jan 28 15:22:22 UTC 2020 Backing up logstash binaries...
mkdir: created directory ‘backup’
mkdir: created directory ‘backup/logstash’
Tue Jan 28 15:22:25 UTC 2020 Extracting logstash components...
mkdir: created directory ‘temp_logstash’
Tue Jan 28 15:22:33 UTC 2020 Logstash update completed
Tue Jan 28 15:22:33 UTC 2020 Updating MongoDB server to version: 3.6.15
Tue Jan 28 15:22:36 UTC 2020 Backing up MongoDB binaries...
mkdir: created directory ‘backup/mongodb’
mkdir: created directory ‘backup/mongodb/bin’
Tue Jan 28 15:22:39 UTC 2020 Temporarily disabling MongoDB user authentication
Tue Jan 28 15:22:42 UTC 2020 Extracting MongoDB 3.4 binaries...
Tue Jan 28 15:22:48 UTC 2020 Updating MongoDB feature compatibility version to 3.4
mongodb_apm: started
MongoDB shell version v3.4.23
connecting to: mongodb://127.0.0.1:13017/
MongoDB server version: 3.4.23
{ "ok" : 1 }
Update to version 3.4 was successful. Continue updating to version 3.6
mongodb_apm: stopped
Tue Jan 28 15:22:54 UTC 2020 Extracting MongoDB 3.6 binaries...
Tue Jan 28 15:23:00 UTC 2020 Updating MongoDB feature compatibility version to 3.6
Tue Jan 28 15:23:00 UTC 2020 Ensure MongoDB accepts external connections
mongodb_apm: started
MongoDB shell version v3.6.15
connecting to: mongodb://127.0.0.1:13017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("23077c11-0e2a-4cd5-9d48-ceed0c7322d6") }
MongoDB server version: 3.6.15
{ "ok" : 1 }
Tue Jan 28 15:23:05 UTC 2020 Enabling back MongoDB user authentication
mongodb_apm: stopped
Tue Jan 28 15:23:08 UTC 2020 MongoDB update completed
Tue Jan 28 15:23:08 UTC 2020 Backing up apm jar
Tue Jan 28 15:23:11 UTC 2020 Copying new apm jar
Tue Jan 28 15:23:11 UTC 2020 apm jar update completed
Tue Jan 28 15:23:11 UTC 2020 APM server patching completed
Upgrade OCR server
To update OCR, on the OCR server, execute the following command:
$ cd <install_dir>/patches/patch_9.2.5
$ ./patch_9.2.5.sh upgrade_ocr
You will see the following output:
Tue Jan 28 15:25:16 UTC 2020 Updating OCR server to version: 9.2.5
Tue Jan 28 15:25:16 UTC 2020 Backing up ocr jar files
Tue Jan 28 15:25:19 UTC 2020 Copying new ocr jar
Tue Jan 28 15:25:19 UTC 2020 ocr jar update completed
Tue Jan 28 15:25:19 UTC 2020 OCR server patching completed
Upgrade APP server
To upgrade APP, on the APP server, execute the following command:
$ cd <install_dir>/patches/patch_9.2.5
$ ./patch_9.2.5.sh upgrade_ct
You will see the following output:
Thu Feb 13 10:50:06 UTC 2020 Updating Control Tower server to version: 9.2.5
Thu Feb 13 10:50:06 UTC 2020 Backup current Control Tower artifact (workfusion.war)
mkdir: created directory ‘backup’
mkdir: created directory ‘backup/9.2.2’
mkdir: created directory ‘backup/9.2.2/workfusion’
Thu Feb 13 10:50:09 UTC 2020 Removing jar files from context folder
Thu Feb 13 10:50:12 UTC 2020 Updating Control Tower artifact...
Thu Feb 13 10:50:16 UTC 2020 Control Tower update completed
Thu Feb 13 10:50:16 UTC 2020 Backup current RPA manager artifact (rpa_manager.war)
mkdir: created directory ‘backup/9.2.2/rpa_manager’
Thu Feb 13 10:50:19 UTC 2020 Updating RPA manager artifact...
Thu Feb 13 10:50:22 UTC 2020 RPA manager update completed
Thu Feb 13 10:50:22 UTC 2020 Control Tower server patching completed
Upgrade RPA server
Back up the current installation: copy the RPA folder (for example, C:\RPA) to C:\RPA_old.
Uninstall RPA using the respective item from Programs and Features in Control Panel. Reboot the server when requested.
caution
Do not delete C:\RPA folder itself. It still contains valuable configuration files.
Install a new version of RPA, as described in RPA Windows Server installation.
From the backup folder, restore the following files to their corresponding paths:
- File nginx.conf from C:\RPA_old\nginx\conf directory
- All files from the C:\RPA_old\rpa-grid directory except rpa-desktop <version>.jar and directories 'dependency', 'drivers', 'extensions'
- All files from the C:\RPA_old\wfagent\conf directory
- All files from the C:\RPA_old\wfagent\bin directory
Restart the RPA server.
Upgrade RPA server for performance issues only
Stop nodes and hub on the RPA server.
Back up the current dependency folder (C:\RPA\rpa-grid\) and rename it (for example, to dependecy_backup).
Create a new dependency folder.
Copy new jars from the dependecy_15.zip archive.
You can enable new searching for components in two ways:
- Add parameter -DdesktopOptions.FindByHandle=true to start_nodeX.bat for Node (for 9.x).
start_nodeX.bat
%_javaPath%\bin\java -Xms256m -Xmx512m -DdesktopOptions.FindByHandle=true -Dfile.encoding=UTF-8 %_logConfig% -cp %_javaPath%\lib\tools.jar;*;dependency\* org.openqa.grid.selenium.workfusion.grid.SeleniumGridLauncher %_role% %_config%- Add capability to the robot plugin in the bot config:
Bot config
... <robotics-flow> <robot driver="desktop" name="driver1" close-on-completion="true"> <capability name="desktopOptions"> <script return="optionsMap"></script> </capability> <script></script> </robot> </robotics-flow> ...Restart the RPA server.
Start WorkFusion services on all Linux servers
Run the following command on all Linux servers, in the following order: DB > VDSmaster > APP > OCR > APM > VDS slave:
$ wfmanager start all
Post-upgrade steps
You can check a Business Process on the APP server as WF_USER:
$ cd /tmp/workfusion-full-package-9.2.3.0-x/
$ ./install.sh check_raw app -e @/tmp/config_overrides.yml -e test_rpa=true -e test_ocr=true -e test_ml=true