Upgrading i2 Analyze Pre-prod Environment
This section describes an example of the process to upgrade i2 Analyze in a containerized environment. Updating the configuration includes the following high-level steps:
- Rebuilding the Docker images for the new version of i2 Analyze
- Create the upgrade change set
- Remove the previous containers and volumes
- Upgrading Solr, the database, the example connector, the Liberty application, Prometheus and Grafana
- Restoring Solr and the database
Note: Before you complete this walkthrough:
- Upgrade your environment using the instructions in Upgrading your environment.
- You must run
examples/pre-prod/walkthroughs/backup-restore/backup.sh
walkthrough.- You must run the
manage-environment -t upgrade
command.- You must run the
install-analyze-containers -e pre-prod
command.- Reset your environment to the base configuration. For more information, see Resetting your environment.
The examples/pre-prod/walkthroughs/upgrade/upgradeWalkthrough.sh
script is a worked example that demonstrates how to upgrade a deployment in a containerized environment.
Rebuilding the images
In the upgradeWalkthrough.sh
script, the Rebuilding images
section demonstrates running the build-images
script to build images with for the new version of i2 Analyze.
Creating the change set
In the upgradeWalkthrough.sh
script, the Create change set
section demonstrates running the create-change-set
script that creates the upgrade change set. The change set is created in examples/pre-prod/change-sets
and contains the database scripts that are required to upgrade the Information Store database.
When using the pre-prod environment the manage-environment
command adds the following file to the configuration from the pre-reqs/i2analyze/toolkit/examples/configuration
directory if they do not already exist:
* `fragments/common/privacyagreement.html`
* `fragments/opal-services-is/WEB-INF/classes/InfoStoreNamesPostgres.properties`
* `fragments/common/WEB-INF/classes/server.extensions.xml`
If you are upgrading a containerized deployment, add this file to your configuration before your upgrade.
Removing the previous containers
In the upgradeWalkthrough.sh
script, the Removing the previous containers
section demonstrates the commands to delete the previous containers and remove any Docker volumes.
Upgrading Solr
In the upgradeWalkthrough.sh
script, the Upgrading Solr
section demonstrates the commands that are used to run the new Solr and ZooKeeper containers.
The 3 ZooKeeper containers and 2 Solr containers are started. The Solr collections are configured, including the new recordshare_index
collection.
Restoring the Solr collections
In the upgradeWalkthrough.sh
script, the Restore Solr
section demonstrates the commands that are used to restore the Solr Collections.
For more information about restoring Solr, see [Restoring Solr](../backup and restore/restore.md#RestoreSolr).
Restoring the Information Store database
In the upgradeWalkthrough.sh
script, the Restoring the Information Store database
section demonstrates the commands that are used to restore the database to a new SQL Server container.
Upgrading the Information Store database
In the upgradeWalkthrough.sh
script, the Upgrading Information Store
section demonstrates the commands that are used to run the generated database scripts that upgrade the Information Store database.
Upgrading example connector
In the upgradeWalkthrough.sh
script, the Upgrading example connector
section demonstrates the commands that are used to run the example connector.
Upgrading Liberty
In the upgradeWalkthrough.sh
script, the Upgrading Liberty
section demonstrates the commands that are used to build the new Liberty configured image. Two Liberty containers are started using the new configured image. Then, the load balancer container is started.
Upgrading Prometheus
In the upgradeWalkthrough.sh
script, the Upgrading Prometheus
section demonstrates the commands that are used to run Prometheus.
Upgrading Grafana
In the upgradeWalkthrough.sh
script, the Upgrading Grafana
section demonstrates the commands that are used to run Grafana.