Product Selector

Fusion 5.12
    Fusion 5.12

    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.

    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

    1. Make sure:

      1. Solr is running.

      2. All collections are healthy.

    2. The current Solr version is higher than 8.2.x.

    3. For production systems, this upgrade process should be performed during a maintenance window.

    4. This operation changes the solrconfig.xml of all collections in Solr instances, including collections not managed by Fusion.

    5. This operation must be performed before the Fusion upgrade.

    6. 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.

    1. 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
    2. Set DRY_RUN=true to see what will be affected without applying any changes to system.

    3. Check the logs:

      kubectl -n NAMESPACE logs -f fm-upgrade-to-solr-9
    4. 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:

    1. Use an image.

    2. 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.

    Natively supported deployment upgrades

    Deployment type Platform

    Azure Kubernetes Service (AKS)

    aks

    Amazon Elastic Kubernetes Service (EKS)

    eks

    Google Kubernetes Engine (GKE)

    gke

    Fusion includes upgrade scripts for natively supported deployment types. To upgrade:

    1. Open the <platform>_<cluster>_<release>_upgrade_fusion.sh upgrade script file for editing.

    2. Update the CHART_VERSION to your target Fusion version, and save your changes.

    3. 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