Note: Upgrading a multi-server 2.8 environment will require deleting and rebuilding the entire index.
On the Primary ViaWorks server, if using Microsoft SQL Server, run the installer normally, entering the database user credentials when prompted then skip to the Secondary Server section. If using PostgreSQL, follow these steps:
Perform a full PostgreSQL backup by executing a command similar to this:
"%ProgramFiles%\Virtual Works\ViaWorks\PostgreSQL\bin\pg_dump.exe" -i -h localhost -p 5432 -U postgres -F c -f "F:\Backups\viaworks.bak" ViaWorks
(where "F:\Backups\viaworks.bak" is the path to the backup file)Backup the custom configuration files (although they should not be overwritten by the upgrade):
copy “%ProgramData%\Virtual Works\ViaWorks\Database\pg_hba.conf” F:\Backups
copy %ProgramData%\Virtual Works\ViaWorks\Database\postgresql.conf F:\BackupsProceed to upgrade. During the upgrade, the ViaWorksIndexBuilder service will be stopped, upgraded and re-started. If there many pending conversions the system may be CPU bound, slowing down the upgrade process. It’s safe to temporarily stop the Index Builder service until the system is completely upgraded.
On the Secondary ViaWorks server:
If using Microsoft SQL Server, run the installer normally, entering the database user credentials when prompted then continue with step 3.1. If using Postgres, follow these steps:
From an elevated command prompt, first make a backup copy and then edit the file %ProgramFiles%\Virtual Works\ViaWorks\Config\DataAccess.config
Essentially we will revert the changes back to default settings:Change the value of the “ViaDatabaseServer” key to 127.0.0.1.
Remove this line before the </appSettings> line:
<add key="LicensingServiceServer" value="<IPv4_addr>" />
Start the ViaWorks.Database.Service
There are two methods to upgrading the secondary server: 1) Proceed with the ViaWorks upgrade and follow the steps below to manually configure it as a secondary server or 2) uninstall ViaWorks and reinstall using the Custom install option to automate some of these steps. If using method 2, continue with the steps in the original Install/Configuration guide starting at the Secondary Server steps.
- NOTE WHEN UPGRADING TO 2.8 SR3 OR OLDER: The upgrade can fail trying to create the ViaWorksDocumentation Solr collection. When the error occurs, leave the installer window open and follow these steps to correct the issue:
- Stop the index service
- In Program Files\VirtualWorks\ViaWorks\SOLR\bin\Solr.in.cmd replace line "
REM set ZK_HOST=
" with "set ZK_HOST=
<<PrimaryIP>>
:9983" - Start the index service
- In ProgramData\VirtualWorks\ViaWorks\SOLR, delete the ViaWorksDocumentation folder
- In a browser, enter this URL: http://localhost:8983/solr/admin/collections?action=DELETE&name=ViaWorksDocumentation
- That will delete the ViaWorksDocumentation collection and allow the installer to complete successfully
- In the installer, click "Run Again"
- NOTE WHEN UPGRADING TO 2.8 SR3 OR OLDER: The upgrade can fail trying to create the ViaWorksDocumentation Solr collection. When the error occurs, leave the installer window open and follow these steps to correct the issue:
- The upgrade will enable and start all of the services. Stop all ViaWorks services again in this order:
- All Fetch Services, in any order (e.g. ViaWorks FileServer Fetch Service, ViaWorks Exchange Fetch Service, etc.)
- ViaWorks Index Service
- ViaWorks IndexBuilder Service
- ViaWorks Licensing Service
- ViaWorks Database Service
Postgres only: From an elevated command prompt, first make a backup copy and then edit the file %ProgramFiles%\Virtual Works\ViaWorks\Config\DataAccess.config
Change the value of the “ViaDatabaseServer” key to reflect the IPv4 address of the Primary ViaWorks server as opposed to the default value of 127.0.0.1.
Edit the ZookeeperHost value from "localhost:9983" to be the host name of the primary server, eg: "hostname:9983"
- Edit the LicensingServiceServer value from "localhost" to the host name of the primary server.
- Edit the Rest Service web.config: "[Drive]:\Program Files\VirtualWorks\ViaWorks\RestService\web.config": change <add key="LicenseHostName" value="localhost" /> to <add key="LicenseHostName value="FQDN_of_primary_server" />
Disable all non-fetch ViaWorks services except the ViaWorks Index Service by executing the command in an elevated PowerShell session:
$fetchServices= Get-Service | Where {$_.DisplayName -like "*ViaWorks*" -and $_.DisplayName -notlike "*ViaWorks*Fetch*" -and $_.DisplayName -notlike "*Index Service*"}
$fetchServices| Set-Service -StartupType Disabled -VerboseStart all of the ViaWorks fetch services by executing the command in an elevated PowerShell session:
Get-Service| Where {$_.DisplayName -like "*ViaWorks*Fetch*" -or $_.DisplayName -like "*Index Service*"} | ForEach-Object {
Start-Service -Name $_.Name -Verbose
Start-Sleep -Seconds 10
}
...
If the secondary server was not configured as a web server and SolrCloud node prior to upgrading, follow the steps in the Web Server and Solr Cloud Configuration guide to configure it.