Skip to content

Commit

Permalink
Merge branch 'hotfix/irida-db-profile-setting'
Browse files Browse the repository at this point in the history
  • Loading branch information
apetkau committed Feb 27, 2019
2 parents 33b0633 + 61b84d2 commit f5b11a4
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Changes
19.01 to 19.04
--------------
* [UI/Developer]: Updated to lodash v4.17.11 to fix security issue. (19.01.1)
* [Admin]: Added message to add `irida.db.profile` param for Tomcat in docs and upgrading guide.

0.22.0 to 19.01
----------------
Expand Down
1 change: 1 addition & 0 deletions UPGRADING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ upgrading IRIDA that cannot be automated.

0.22.0 to 19.01
----------------
* The following new Tomcat variable should be set for deployment `irida.db.profile=prod` for production deployments. See https://irida.corefacility.ca/documentation/administrator/web/#servlet-container-configuration for more details.
* A new configuration value is avaliable to display a warning on analysis result and metadata pages to communicate that an analysis result should be considered preliminiary. Add a warning message `irida.analysis.warning` in `/etc/irida/web.conf` to display on all analysis result and metadata pages.
* New Spring profiles are available for running IRIDA in a multi-server mode. This will help distribute the load in high-usage installations. See the documentation for more details at https://irida.corefacility.ca/documentation/administrator/web/#multi-web-server-configuration.
* The [AssemblyAnnotation](https://irida.corefacility.ca/documentation/administrator/galaxy/pipelines/assembly-annotation/) and [AssemblyAnnotationCollection](https://irida.corefacility.ca/documentation/administrator/galaxy/pipelines/assembly-annotation-collection/) pipelines have been upgraded to make use of [shovill](https://github.com/tseemann/shovill) for assembly and [QUAST](http://quast.sourceforge.net/quast.html) for assembly quality assessment. Please ensure that the `shovill` and `quast` Galaxy tools are installed for these pipelines. If you haven't already, please follow [the instructions for installing `shovill`](https://irida.corefacility.ca/documentation/administrator/galaxy/pipelines/assembly-annotation/#address-shovill-related-issues) and see the instructions for upgrading the [SISTR](https://irida.corefacility.ca/documentation/administrator/galaxy/pipelines/sistr/) pipeline from 0.21.0 to 0.22.0 for more info.
Expand Down
20 changes: 14 additions & 6 deletions doc/administrator/web/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,19 @@ Deploying IRIDA mainly involves deploying the `WAR` file into your Servlet conta

Servlet Container Configuration
-------------------------------
An environment variable needs to be set in your Servlet container for IRIDA to function correctly: `spring.profiles.active=prod`.
Two environment variables needs to be set in your Servlet container for IRIDA to function correctly: `spring.profiles.active=prod` and `irida.db.profile=prod`.

You can adjust these variables in Tomcat by editing (depending on your distribution) `/etc/tomcat/tomcat.conf` (CentOS) or `/etc/default/tomcat7` (Ubuntu), and finding the `JAVA_OPTS` variable and setting the variables as shown below:

JAVA_OPTS="-Dspring.profiles.active=prod"
```
JAVA_OPTS="-Dspring.profiles.active=prod -Dirida.db.profile=prod"
```

The `irida.db.profile=prod` option sets a number of recommended database settings for IRIDA such as JDBC, Hibernate, and Liquibase options. See the [jdbc.prod.properties file](https://github.com/phac-nml/irida/blob/master/src/main/resources/ca/corefacility/bioinformatics/irida/config/jdbc.prod.properties) for what gets set. All these options can be overridden in your `/etc/irida/irida.conf` file.

For high usage or high load installations of IRIDA, you may want to consider deploying IRIDA on multiple servers. For more on this feature, see the [Multi Web Server Configuration](#multi-web-server-configuration) section.
The `spring.profiles.active=prod` option will enable all the production features of IRIDA (web server, project synchronization, email announcements, NCBI uploads, analysis engine).

For high usage or high load installations of IRIDA, you may consider deploying these features to multiple servers. For more on this feature, see the [Multi Web Server Configuration](#multi-web-server-configuration) section.

Core Configuration
------------------
Expand Down Expand Up @@ -162,7 +168,7 @@ Multi Web Server Configuration
-------------------------------
When IRIDA is deployed in a higher load environment, it may be preferable to deploy multiple IRIDA web application servers to handle all web requests, processing, and scheduled tasks. IRIDA has the ability to run in a multi-server mode which will distribute these tasks among multiple servers. This is achieved through the use of Spring profiles. Deploying IRIDA in this fashion allows IRIDA administrators to maintain good performance for users of the IRIDA web application, while offloading some of the more resource-hungry processing tasks to additional servers. Multiple profiles may be applied to individual servers to group some of the tasks onto one machine.

Note: The `prod`, `dev` profiles and cluster configuration profiles below **cannot be used at the same time**. Doing so may result in corrupt analysis data sets.
Note: The `prod`, `dev` profiles and multi server configuration profiles below **cannot be used at the same time**. Doing so may result in corrupt analysis data sets.

The different application profiles and their functions are the following:

Expand All @@ -175,9 +181,11 @@ The different application profiles and their functions are the following:

To launch an IRIDA application server with one (or more) of these profiles, you must enable the profile with the `spring.profiles.active` variable in your Tomcat configuration. For example to run an IRIDA server with the `web` and `analysis` profiles active, you would set the following configuration:

`spring.profiles.active=web,analysis`
```
spring.profiles.active=web,analysis
```

See the [Servlet Container Configuration](#servlet-container-configuration) section for more on setting the `spring.profiles.active` variable for Tomcat.
See the [Servlet Container Configuration](#servlet-container-configuration) section for more on setting the `spring.profiles.active` and `irida.db.profile` variables for Tomcat.

#### Example moderate load deployment:

Expand Down

0 comments on commit f5b11a4

Please sign in to comment.