Advanced updates to your IBM Business Automation Insights deployment


When Flink High Availability (HA) is not enabled, any configuration change that triggers a Flink cluster restart—including updates to Flink parameters, enabling or disabling jobs, modifying job parallelism, or toggling egress—must be performed using the procedure below. This ensures that all jobs restart from savepoints, preventing Business Automation Insights data inconsistencies.

Procedure

  1. Retrieve the management service URL.
    export MANAGEMENT_URL=$(kubectl get insightsengine ${INSIGHTS_ENGINE_CR} -n ${NAMESPACE} -o jsonpath='{.status.components.management.endpoints[?(@.scope=="External")].uri}')
    
  2. Retrieve the management service username and password.
    export MANAGEMENT_AUTH_SECRET=$(kubectl get insightsengine ${INSIGHTS_ENGINE_CR} -n ${NAMESPACE} -o jsonpath='{.status.components.management.endpoints[?(@.scope=="External")].authentication.secret.secretName}')
    export MANAGEMENT_USERNAME=$(kubectl get secret ${MANAGEMENT_AUTH_SECRET} -n ${NAMESPACE} -o jsonpath='{.data.username}' | base64 -d)
    export MANAGEMENT_PASSWORD=$(kubectl get secret ${MANAGEMENT_AUTH_SECRET} -n ${NAMESPACE} -o jsonpath='{.data.password}' | base64 -d)
  3. Create savepoints for all the running processing jobs by sending an HTTP POST request to trigger the endpoint for savepoints.
    curl -X POST -k -u ${MANAGEMENT_USERNAME}:${MANAGEMENT_PASSWORD} "${MANAGEMENT_URL}/api/v1/processing/jobs/savepoints" | jq .
  4. Take note of each savepoint path: /mnt/pv/savepoints/dba/bai-<job_name>/savepoint-<savepoint-id>. You reuse these values when you prepare the parameters for the update of the IBM Business Automation Insights release.
  5. Edit your custom resource.
    1. Edit your custom resource in your YAML file to include all your intended modifications.
    2. Replace the <savepoint-id> with the corresponding identifier values. For example:
      spec:
        bai_configuration:
          bpmn:
            recovery_path: /mnt/pv/savepoints/dba/bai-bpmn/savepoint-<savepoint-id>    
          icm:
            recovery_path: /mnt/pv/savepoints/dba/bai-icm/savepoint-<savepoint-id>
  6. Apply the updates to the operator.
    kubectl apply -f /my_bai_cr.yaml --overwrite=true
    Note: You can also edit YAML files by using the default UNIX visual editor (vi).
    kubectl edit InsightsEngine <custom_resource_name>