Fusion 5 Upgrade from 5.7.x
This article includes instructions for upgrading Fusion from one version to another. In some cases, the instructions do not vary. Other upgrades require special instructions. Start by checking upgrade details for your target version before continuing to the General upgrade process.
Remember, upgrade instructions may vary between deployment types too. Review Upgrades by deployment type for details.
Whenever you upgrade Fusion, you must also update your remote connectors, if you are running any. Configure Remote V2 Connectors provides complete instructions for remote connector setup. You can download the latest files at V2 Connectors Downloads.
Upgrades from 5.7.x
to 5.7.y
Upgrading from 5.7.x to 5.7.y involves using the General upgrade process.
to 5.8.y
In Fusion 5.8.0, Solr moves from version 8 to version 9. Additional steps are included to aid in the upgrade process.
After performing a major Solr upgrade, you must reindex your collection data. |
Prerequisites
-
Make sure:
-
Solr is running.
-
All collections are healthy.
-
-
The current Solr version is higher than 8.2.x.
-
For production systems, this upgrade process should be performed during a maintenance window.
-
This operation changes the
solrconfig.xml
of all collections in Solr instances, including collections not managed by Fusion. -
This operation must be performed before the Fusion upgrade.
-
Collections not using the default Solr configuration that is shipped with Fusion may not require an update as an update may cause some malfunctions.
Update settings in Solr collections
Solr collection settings, such as cache, configuration, and schema require updating.
-
Use the utility Docker image provided at https://hub.docker.com/r/lucidworks/fm-upgrade-to-solr-9 with a script to automate the required collections configuration update:
kubectl run --image="lucidworks/fm-upgrade-to-solr-9:1.0.0" \ -n NAMESPACE \ --env="HELM_RELEASE=RELEASE_NAME" \ --labels='app.kubernetes.io/component=solr-backup-runner' --env="DRY_RUN=false" \ fm-upgrade-to-solr-9
-
Set
DRY_RUN=true
to see what will be affected without applying any changes to system. -
Check the logs:
kubectl -n NAMESPACE logs -f fm-upgrade-to-solr-9
-
After the update completes, remove the pod:
kubectl -n NAMESPACE delete pod fm-upgrade-to-solr-9
Finish upgrade
Two methods exist to finalize the upgrade process:
-
Use an image.
-
Use a JSON file.
Convert apps using image
The preferred way to finish migrating the settings is to use the image to convert exported apps. To do this, you first need to export the app from the existing system and place it in a local system where Docker is installed.
Assuming that in the current directory there is an exported-app.zip
, you can run:
docker run --rm -v $(pwd):/apps -e INPUT_FILE=/apps/exported-app.zip lucidworks/fm-upgrade-to-solr-9:1.0.0
This command produces the exported-app-migrated.zip
in the current directory and directly modify the solrconfig.json
file without creating configoverlay.json
.
Use a JSON overlay
For the second method to finalize the upgrade, instead of a HELM_RELEASE
name for scripts to infer the Solr server name, you can use a direct URL with a SOLR
variable: --env="SOLR=http://server:8983"
.
This method creates a configoverlay.json
file in config
directory with a modified collection. It contains all required changes applied by Solr on solrconfig.xml
.
General upgrade process
Fusion natively supports deployments on various Kubernetes platforms, including AKS, EKS, and GKE. You can also deploy on a different Kubernetes platform of your choice.
Fusion includes an upgrade script for AKS, EKS, and GKE. This script is not generated for other Kubernetes deployments. In this case, see Other Kubernetes deployment upgrades.
Upgrades differ from platform to platform. See below for more information about upgrading on your platform of choice.
Whenever you upgrade Fusion, you must also update your remote connectors, if you are running any. Configure Remote V2 Connectors provides complete instructions for remote connector setup. You can download the latest files at V2 Connectors Downloads.
Natively supported deployment upgrades
Deployment type | Platform |
---|---|
Azure Kubernetes Service (AKS) |
|
Amazon Elastic Kubernetes Service (EKS) |
|
Google Kubernetes Engine (GKE) |
|
Fusion includes upgrade scripts for natively supported deployment types. To upgrade:
-
Open the
<platform>_<cluster>_<release>_upgrade_fusion.sh
upgrade script file for editing. -
Update the
CHART_VERSION
to your target Fusion version, and save your changes. -
Run the
<platform>_<cluster>_<release>_upgrade_fusion.sh
script. The<release>
value is the same as your namespace, unless you overrode the default value using the-r
option.
After running the upgrade, use kubectl get pods
to see the changes applied to your cluster. It may take several minutes to perform the upgrade, as new Docker images are pulled from DockerHub. To see the versions of running pods, do:
kubectl get po -o jsonpath='{..image}' | tr -s '[[:space:]]' '\n' | sort | uniq