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.
-
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 -
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" -
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.
-
Copy the hotfix JAR file to any one of the Release pods by running the following command.
importantCopying 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 -
Restart the Release pods by running the following command.
kubectl rollout restart sts dai-xlr-digitalai-release -n digitalai
-
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