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.

Verify version of your current installation of IBM Storage Enabler for Containers. Only version 1.2.0 of the package can be upgraded to version 2.0.0.

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

  1. Download the installer. See Downloading the software package.
  2. Uncompress the installer *.tar file.
  3. Create the service account files using the extracted yaml files.
    • kubectl create -n ubiquity -f ubiquity-k8s-provisioner-serviceaccount.yml
    • kubectl create -n ubiquity -f ubiquity-k8s-provisioner-clusterrolebindings.yml
    • kubectl create -n ubiquity -f ubiquity-k8s-provisioner-clusterroles.yml
  4. Update and apply the ubiquity-k8s-provisioner deployment using the kubectl edit deployment ubiquity-k8s-provisioner -n ubiquity command.
    • Add the serviceAccount: ubiquity-k8s-provisioner line between spec: and containers:.
    • Change the image: tag of the Provisioner from version <current version number> to <new version number>.
    • Delete the name: k8s-config and mountPath: /tmp/k8sconfig lines in the volumeMounts category.
    • Delete the name: k8s-config, - configMap: and name: k8s-config lines in the volumes category.
  5. Save and exit the edit mode.
  6. Delete k8s-config using the kubectl delete -n ubiquity configmap/k8s-config command.
  7. Update the rest of the deployment images by changing the image tag from version <current version number> to <new version number>:
    • kubectl edit deployment ubiquity-db -n ubiquity
    • kubectl edit deployment ubiquity -n ubiquity
    • kubectl edit daemonset ubiquity-k8s-flex -n ubiquity
  8. Verify that the image update was successful by checking the status of the IBM Storage Enabler for Containers pods. Navigate to the directory where the IBM Storage Enabler for Containers was installed and run the following command ubiquity_cli.sh -a status_wide and check that all relevant pods are in the Running state.
    The image update is finished.
  9. After the update, change the image version from <current version number> to <new version number> in all relevant yml files. Otherwise, you will not be able to start the images using ubiquity_cli.sh -a start. Use the following procedure:
    1. Navigate to your installer directory and go the /yaml folder in it.
    2. Locate the following yml files:
      • ubiquity-deployment.yml
      • ubiquity-k8s-provisioner-deployment.yml
      • ubiquity-k8s-flex-daemonset.yml
      • ubiquity-db-deployment.yml
    3. Edit the files and manually change the image version from <current version number> to <new version number>. For example, image: ibmcom/ibm-storage-enabler-for-containers-db:<current version number> to image: ibmcom/ibm-storage-enabler-for-containers-db:<new version number>.