In most cases, upgrading an existing instance of SHRINE is a relatively quick process. Exceptions to this rule include older versions of SHRINE that contained substantial changes to configuration files and other portions of the file structure. The instructions here specifically describe an upgrade path from SHRINE 2.0.0-PR1 to SHRINE 2.0.0-RC1.
This guide makes the following assumptions of a current 2.0.0-PR1 system. Make sure all of these conditions are satisfied before proceeding:
- i2b2 1.7.09c is installed and operational.
- SHRINE 2.0.0-PR1 is installed and operational.
Shut Down SHRINE
Before starting the upgrade process, make sure SHRINE's Tomcat is not running. Leaving it running during this process can cause problems, especially with unpacking new .war files. Simply run the following command:
$ /opt/shrine/tomcat/bin/shutdown.sh
Backup your current SHRINE configuration
Now that SHRINE is stopped, it is a good idea to back up the current versions of the components we will be upgrading. The exact method for making this backups may vary, but these instructions will place the backups in a folder called /opt/shrine/upgrade-backups.
Start by creating a folder to contain these backups:
$ mkdir /opt/shrine/upgrade-backups
Make especially sure that the shrine.keystore is backed up. If you lose the private side of a cert you may not be able to recover it.
$ cp /opt/shrine/shrine.keystore /opt/shrine/upgrade-backups/shrine.keystore
Finally remove the old .war files with this command:
$ rm /opt/shrine/tomcat/webapps/*.war
Also, you can remove all the existing folders from the /webapps directory:
$ rm -rf /opt/shrine/tomcat/webapps/shrine/ $ rm -rf /opt/shrine/tomcat/webapps/shrine-api/
Deploy New .war Files
Deploy New SHRINE Core
Next, we will retrieve the new SHRINE war files from the HMS Sonatype Nexus server at: https://repo.open.med.harvard.edu/nexus/content/groups/public/net/shrine/shrine-war/2.0.0-RC1/. From there, download shrine-war-2.0.0-RC1.war to the webapps/ directory on the SHRINE server and rename it to shrine.war.
For example:
$ cd /opt/shrine/tomcat/webapps $ wget https://repo.open.med.harvard.edu/nexus/content/groups/public/net/shrine/shrine-war/2.0.0-RC1/shrine-war-2.0.0-RC1.war -O shrine.war
Deploy New SHRINE API Service
Like other SHRINE artifacts, the SHRINE API Service can be found on the HMS Sonatype Nexus server at https://repo.open.med.harvard.edu/nexus/content/groups/public/net/shrine/shrine-api-war/2.0.0-RC1/. From there, download shrine-api-war-2.0.0-RC1.war to the webapps/ directory on the SHRINE server and rename it to shrine-api.war.
For example:
$ cd /opt/shrine/tomcat/webapps $ wget https://repo.open.med.harvard.edu/nexus/content/groups/public/net/shrine/shrine-api-war/2.0.0-RC1/shrine-api-war-2.0.0-RC1.war -O shrine-api.war
Start SHRINE
The only thing left to do at this point is start SHRINE back up. Simply do the following:
$ /opt/shrine/tomcat/bin/startup.sh
Verify SHRINE Upgrade
After starting SHRINE up, verify that the upgrade was properly deployed by checking the SHRINE Dashboard for the version number. The exact address you will need to go to depends on your configuration, but the general format looks like the following:
https://your_shrine_host:6443/shrine-dashboard
or
https://your_shrine_host:6443/shrine-api/shrine-dashboard