Upgrading IBM Process Mining with Helm Charts

You can upgrade you IBM Process Mining application to version 2.2.0 with Helm Charts.

About this task

Do the following steps to upgrade IBM Process Mining:

Procedure

  1. Set the release version and chart name variables, then download the IBM Process Mining CASE package with the following commands:
    export release=4.2.0
    export chart=ipm-process-mining
    
    oc ibm-pak get ibm-process-mining --insecure --skip-verify --version $release

    This command downloads the CASE package to ~/.ibm-pak/data/cases/ibm-process-mining/4.2.0/.

  2. Extract the Helm charts from the downloaded CASE package:

    The charts are located in ~/.ibm-pak/data/cases/ibm-process-mining/4.2.0/charts/. First, copy them to your working directory (for example, helm2.2.0. Then, extract them with the following commands:

    mkdir helm2.2.0
    cd helm2.2.0
    
    cp ~/.ibm-pak/data/cases/ibm-process-mining/2.2.0/charts/*.tgz .
    
    tar zxvf ibm-monetdb-4.2.0.tgz
    
    tar zxvf ibm-process-mining-4.2.0.tgz

    After extraction, you will have the ibm-monetdb and ibm-process-mining directories containing the Helm charts.

  3. For an air-gap installation, prepare the values files for the private registry:

    Copy the values files from both extracted chart directories:

    cp ibm-monetdb/values.yaml ./sample-monetdb.yml
    cp ibm-process-mining/values.yaml ./sample-process-mining.yml

    Modify both sample-monetdb.yml and sample-process-mining.yml to point to your private registry. Change the registry setting from cp.icr.io/cp to your private registry address:

    images:
      # registry: 'cp.icr.io/cp'
      registry: 'your-private-registry:5000'

    Update your skopeo script to mirror the images listed in both sample files to your private registry. Use the following example of a complete script as a reference:

    #!/bin/bash
    # remirror-with-skopeo.sh
    
    SRC_REGISTRY="cp.icr.io"
    DEST_REGISTRY="<YourPrivateRegistry>"
    
    declare -a IMAGES=(
      "processmining-monet@sha256:<image-digest>"
      "processmining-nginx@sha256:<image-digest>"
      "processmining-usermanagement@sha256:<image-digest>"
      "processmining-discovery@sha256:<image-digest>"
      "processmining-analytics@sha256:<image-digest>"
      "processmining-bpa@sha256:<image-digest>"
      "processmining-dr@sha256:<image-digest>"
      "processmining-ssl@sha256:<image-digest>"
      "processmining-monitoring@sha256:<image-digest>"
      "processmining-acf-custom@sha256:<image-digest>"
      "processmining-db-utils@sha256:<image-digest>"
      "processmining-dr-ml@sha256:<image-digest>"
    )
    
    
    echo "=== Copying images from /cp/ to root path ==="
    echo "Source Registry: $SRC_REGISTRY"
    echo "Destination Registry: $DEST_REGISTRY"
    echo "Total images: ${#IMAGES[@]}"
    echo ""
    
    SUCCESS=0
    FAILED=0
    
    for img_digest in "${IMAGES[@]}"; do
      IFS=':' read -r img_name digest <<< "$img_digest"
    
      SOURCE="docker://${SRC_REGISTRY}/cp/${img_name}":"${digest}"
      DEST="docker://${DEST_REGISTRY}/${img_name}":"${digest}"
    
      echo "[$((SUCCESS + FAILED + 1))/${#IMAGES[@]}] $img_name"
    
      skopeo copy \
        --src-tls-verify=false \
        --dest-tls-verify=false \
        --all \
        "$SOURCE" \
        "$DEST" 2>&1
    
      if [ $? -eq 0 ]; then
        echo "  ✓ Success"
        ((SUCCESS++))
      else
        echo "  ✗ Failed"
        ((FAILED++))
      fi
      echo ""
    done
    
    echo "=== Summary ==="
    echo "Success: $SUCCESS"
    echo "Failed: $FAILED"
    echo "Total: ${#IMAGES[@]}"

    Run the script to mirror all images to your private registry:

    chmod +x my_skopeo_script.bash
    ./my_skopeo_script.bash
  4. Configure database credentials in the values files:
    Important: Even with the --reuse-values option, which preserves the values from the previous Helm installation, you must add the database credentials to both sample files to match your installation configuration.

    Add the following configuration to the sample-process-mining.yml file:

    database:
      postgres:
        host: "your-postgres-host"
        user: "app"
        database: "app"
        credential:
          secretname: "your-postgres-secret"
          passwordkey: "password"
      monet:
        host: "your-monetdb-host.namespace.svc.cluster.local"
        credential:
          secretname: "your-monetdb-secret"
          passwordkey: "password"
    imagePullSecrets:
     - name: ibmclouddocker
    images:
      registry: 'your-private-registry:5000'
      imagepullpolicy: Always
    Add the following line to the sample-monetdb.yml file:
    images: 
      registry: 'your-private-registry:5000'

    Replace the placeholder values with your actual configuration from the initial installation. For more information, see Installing IBM Process Mining with Helm charts.

  5. Upgrade your IBM Process Mining application using the extracted Helm chart:

    For standard installations:

    helm upgrade $release ./$chart --namespace $namespace

    For air-gap installations with private registry:

    helm upgrade $release ./$chart --namespace $namespace --reuse-values -f sample-process-mining.yml

    For MonetDB upgrade in air-gap installations:

    helm upgrade monetdb-release ./ibm-monetdb --namespace $namespace --reuse-values -f sample-monetdb.yml
    Note: To download the latest Helm Chart for IBM Process Mining, see Installing IBM Process Mining with Helm charts.