Upgrading existing installation

If you are already using earlier releases of IBM Storage Enabler for Containers, you can upgrade to the newer version without having to uninstall the previous one.

Before you begin

Verify version of your current installation of IBM Storage Enabler for Containers. Only version 2.0.0 of the package can be upgraded to version 2.1.0. Unlike previous releases, version 2.1.0 of IBM Storage Enabler for Containers uses Helm chart for managing its installation process.

To preserve all existing configuration parameters, keep the ubiquity-db PVC, which contains the database.

  1. Download version 2.1.0 of the IBM Storage Enabler for Containers installation package from IBM® Fix Central .
  2. Replace the ubiquity_uninstall.sh file from the version 2.0.0 installation package by the one from version 2.1.0, by running the following: cp ../installer-for-ibm-storage-enabler-for-containers-2.1.0/ubiquity_uninstall.sh ../installer-for-ibm-storage-enabler-for-containers-2.0.0/.
  3. If you intend to continue using the verify-full SSL mode, write down DNS names and/or IP addresses of ubiquity and ubiquity-db service objects. These services must be recreated with the same settings after uninstallation.
  4. Uninstall any previous installation of the IBM Storage Enabler for Containers, while keeping the ubiquity-db PVC. Use the following command: /ubiquity_uninstall.sh -k ( The -k flag is used to keep the ubiquity-db PVC intact.).
  5. Recreate two Kubernetes services with DNS/IP address combinations which were in use in the previous version.
    kubectl create service clusterip ubiquity --clusterip='ubiquity_service_ip' --tcp=9999:9999 --namespace ubiquity
    kubectl set selector svc ubiquity app.kubernetes.io/name=ubiquity -n ubiquity
    kubectl create service clusterip ubiquity-db --clusterip='ubiquity_db_service_ip' --tcp=5432:5432 --namespace ubiquity
    kubectl set selector svc ubiquity-db app.kubernetes.io/name=ubiquity-db -n ubiquity
  6. Create two secrets: Enabler for Containers secret for its database and Enabler for Containers secret for the IBM Spectrum Connect (Verify that Spectrum Connect secret username and password are the same as Enabler for Containers interface username and password in Spectrum Connect UI.). See the Compatibility and requirements for details.

Procedure

Perform the following procedure to upgrade IBM Storage Enabler for Containers:

  1. Download the Helm chart from the stable IBM repository. See Helm documentation for details.
    helm fetch --untar ibm-stable/ibm-storage-enabler-for-containers
  2. Configure parameters in the values.yaml file. The file is located in the ./ibm-storage-enabler-for-containers folder. However, it is recommended to save the values.yaml file in a different location, rename it, and configure the new file, while preserving the original values.yaml.

    Set the ubiquityDb.useExistingPV parameter to True. In addition, set ubiquityDb.persistence.pvName to be the same as IBM_UBIQUITY_DB_PV_NAME_VALUE in ubiquity_installer.conf of the installation package for Enabler for Containers (2.0.0).

  3. Install the new version of Enabler for Containers:
    helm install --name <release_name> --namespace <namespace_name> -f <path_to_values.yaml>
     ./ibm-storage-enabler-for-containers
  4. You can change the current revision to a new one within the same release, and use updated parameters in the values.yaml file. Use one of the following methods:
    • Edit the values.yaml, and then run:
      helm upgrade -f values.yaml <release_name> ./ibm-storage-enabler-for-containers
    • Run:
      helm upgrade --set parameter_name=new_value <release_name> --reuse-values
       ./ibm-storage-enabler-for-containers
  5. When upgrading Enabler for Containers via ICP, follow these instructions:
    1. Preserve the ubiquity-db PVC, which contains the database, as explained above.
    2. Create two secrets: Enabler for Containers secret for its database and Enabler for Containers secret for the backend (IBM Spectrum Connect or IBM Spectrum Scale), as detailed in Compatibility and requirements.
    3. Set the configuration parameters. Make sure to:
      • Set the ubiquityDb.useExistingPV parameter to True.
      • Set the ubiquityDb.persistence.pvName parameter to be the same as the existing ubiquity-db PVC.