Skip to main content
Version: Early Access

Apply Hotfixes to Digital.ai Release Pods

Here's how you can apply hotfixes step-by-step to Digital.ai Release on Kubernetes.

The following instructions are tailored for the Digital.ai Release setup installed with the default settings such as the default namespace, digitalai, and the default Custom Resource (CR), dai-xlr. Use the right namespace and CR file name per your Release setup.

Enable Hotfix in the Release Operator

Patch the CR with additional persistence paths. The persistent folder is reports by default.

  1. Create a patch file with the additional persistence paths. Here's an example.

    cat << EOF >> patch-cr-hotfix-24.1.patch.yaml
    spec:
    persistence:
    paths:
    # default value for 24.1
    - /opt/xebialabs/xl-release-server/reports
    # custom
    - /opt/xebialabs/xl-release-server/hotfix
    - /opt/xebialabs/xl-release-server/hotfix/lib
    EOF
  2. Apply the patch to update the configuration for Release pods by running the following command. Suppose, the CR name is dai-xlr.

    kubectl patch -n digitalai digitalaireleases dai-xlr \
    --type=merge --patch-file "patch-cr-hotfix-24.1.patch.yaml"
  3. After applying the patch, the Release pods will restart automatically. Wait for a minute (reconciliation period).

Copy the Hotfix Libraries to the Release Pods

Copy the hotfix JAR file to the persisted folder on each pod after adding the hotfix libraries to the CR as discussed earlier.

  1. Copy the hotfix JAR file to any one of the Release pods by running the following command.

    important

    Copying the hotfix JAR file to one of the pods makes it available to all the other pods too as the persisted storage is shared between all the Release pods.

    kubectl cp -n digitalai hotfix.jar \
    dai-xlr-digitalai-release-0:/opt/xebialabs/xl-release-server/hotfix/lib
  2. Restart the Release pods by running the following command.

    kubectl rollout restart sts dai-xlr-digitalai-release -n digitalai
  3. Verify that the hotfix JAR file is copied to the pods' storage.

    kubectl exec -n digitalai dai-xlr-digitalai-release-0 -- ls -l /opt/xebialabs/xl-release-server/hotfix/lib