Skip to main content
Version: Release 24.1

Upgrade Options Reference for Digital.ai Release and Runner

  • Here's a list of questions that you would have to answer to upgrade Release or Runner using the xl kube upgrade command.
  • Some of the questions are common for both Release or Release Runner, and some are only relevant for Release or Runner and has been called out in the descriptions accordingly.
  • You must select one of the available options for some of the questions.
  • Use the arrow keys to move up or down and press enter to select an option.

Note: for the patch upgrades, if it is not stated differently, you can do patch update steps: Upgrade Patch Version of the Release)

Upgrade to 24.1.x and persistent volumes

Starting from version 24.1, the following folders have been removed as persistence folders:

  • conf
  • ext
  • hotfix
  • hotfix/lib

In case of the configuration directories, any files in the folders will be overridden by the templates. For other folders, the persisted files will be lost. In case there is a need to mount some directories back, to preserve files between restarts, use separate configurations:

  • persistance.paths
  • or extraVolumeMounts and extraVolumes

Added Helm hooks for license generation

  • New image is added to support the getLicense hook.
bitnami/kubectl
  • In case of generating the license, a new Helm hook is added to generate the license and share it between pods. Configure it under the section:
hooks.getLicense

Backup before upgrade

  • Before you upgrade existing Release sites using the Operator-based installer, you must back up your, see Upgrade Backup of the Deploy for details:
    • configuration in volumes,
    • databases.
  • Back up your data according to your organization's backup policies.
  • Check whether there are any hotfixes installed in the hotfix directory. If hotfixes are installed, contact the Digital.ai Support team before upgrading.
  • Some older database versions may not work with the latest Release versions. For more information, refer to System Requirements.
  • Review any files that you have customized. You will need to check these changes in the new version.
  • Read the release notes of the Release version you are upgrading to so that you are aware of the new functionality and possible upgrade considerations.

Automatic upgrade limitations

  • On Openshift you need to answer for upgrades from pre-23.3 versions with No for question: Should CRD be reused, if No we will delete the CRD digitalaideployocps.xldocp.digital.ai, and all related CRs will be deleted with it.
  • Upgrade of the embedded RabbitMQ server needs to be done manually, RabbitMQ subchart will be automatically upgraded as part of the xl-cli upgrade process. See Manual upgrade RabbitMQ
  • Upgrade of the embedded PostgreSQL server needs to be done manually, PostgreSQL subchart will be automatically upgraded as part of the xl-cli upgrade process. See Manual upgrade PostgreSQL
  • If you were changing the files in the Release directory in the pre-23.3 versions by using spec.release.configurationManagement, that section of the configuration is not anymore used.
  • If you customized the CR:
    1. Check the migration definitions in the question: Edit list of custom resource keys that will migrate to the new Release CR
    2. If the configuration changes are not part of migration definitions, you can add additional migration definition, check for details Custom resource keys migration
    3. If it is not possible to add the migration definition, you can customize the CR after upgrade, check Update Parameters in the CR File or Deployment

Important Notes to Upgrade Release Operator from 23.1.x to 24.1.x

Perform the following steps, before you upgrade the Release Operator from 23.1.x to 24.1.x.

  1. Login to the Release pod.
  2. Before you start the upgrade, delete the xlr-wrapper-linux.conf file from this location (/opt/xebialabs/xl-release-server/conf/).
  3. When you upgrade, the xlr-wrapper-linux.conf file is replaced with the upgraded version.

Note: If you have custom changes in the file, copy those changes locally, and apply them after the upgrade.

Release Upgrade Options Reference

Here's a list of questions that you would have to answer to upgrade Digital.ai Release or Runner using the xl kube upgrade command.

Here's the list of questions

Confirm the kubectl Context

Prompt? Following kubectl context will be used during execution: <kubectl-context/username>? (Y/n)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valueskubectl current context
Default valuekubectl current context
RemarksConfirm the kubectl context to proceed.

Choose a Kubernetes Platform

Prompt? Select the Kubernetes setup where the Digital.ai Devops Platform will be installed, updated or cleaned:
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesOpenshift [Openshift]
AWSEKS [AWS EKS]
PlainK8s [Plain multi-node K8s cluster]
AzureAKS [Azure AKS]
GoogleGKE [Google Kubernetes Engine]
Default valueOpenshift [Openshift]
RemarksYou must have your cluster ready before you select an answer for this prompt.

Choose a Kubernetes Namespace

Important: If you want to enable the TLS protocol in your cluster, you must have the TLS secret created in the namespace before you start the installation or upgrade. This means that you must have created the namespace and the TLS secret already. Use the same namespace when you answer this prompt.

Prompt? Do you want to use an custom Kubernetes namespace (current default is digitalai): [? for help] (y/N)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valuedigitalai
RemarksType the name of a custom namespace where you want to install or upgrade Release or go with the default namespace, which is digitalai.
If you are going to enable the TLS protocol in your cluster, you must have created the namespace and the TLS secret already. Use the same namespace where you have the TLS secret created.

Choose the Product to Upgrade

Prompt? Product server you want to perform upgrade for [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesdai-release [Digital.ai Release with optional Runner]
dai-deploy [Digital.ai Deploy]
dai-release-remote-runner [Digital.ai Release Runner]
Default valuedai-release [Digital.ai Release with optional Runner]
RemarksSelect a product—dai-release [Digital.ai Release with optional Runner]

Select the Type of Upgrade

Prompt? Select the type of upgrade you want: [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesoperatorToOperator [Operator to Operator]
helmToOperator [Helm to Operator]
Default valueoperatorToOperator [Operator to Operator]
RemarksSelect operatorToOperator [Operator to Operator] or helmToOperator [Helm to Operator] depending on whether your existing site was installed using the Kubernetes Operator or the Helm Charts respectively.

Select Type of Image Registry

Note: You can choose a custom public or private registry, which can be used to perform the setup of Deploy from a custom image registry and image repository. For more information, see Setup Custom Image Registry

PromptSelect type of image registry (current default is default): [? for help] (xebialabs)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valuedefault
RemarksType the image repository. It is recommended to go with the default, which is xebialabs.

Enter the Repository Name

Prompt? Enter the repository name for the application and operator images (eg: <repositoryName> from <repositoryName>/<imageName>:<tagName>): [? for help] (xebialabs)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valuexebialabs
RemarksType the repository name. It is recommended to go with the default, which is xebialabs.

Enter the Image Name

Prompt? Enter the Release server image name (eg: <imageName> from <repositoryName>/<imageName>:<tagName>): [? for help] (xl-release)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesxl-release
Default valuexl-release
RemarksType the name of the image you want to use for installation.

Enter the Image Tag

The xl kube install and xl kube upgrade options reference let you go with the default (latest) docker image tags available when you install or upgrade Release or Runner. However, here are the Docker Hub links to verify all the available image tags.

Prompt? Enter the application image tag (eg: <tagName> from <repositoryName>/<imageName>:<tagName>): [? for help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueThe latest release available in the repository, for example 24.1.2
RemarksType the product version number you want to install, for example, 23.3.3 or 24.1.2.

Important: The next 3 prompts are specific to upgrading Release Runner and will not be available when you upgrade Release.

Enter the Release Runner Helm Chart path

Prompt? Enter the Release Runner Helm Chart path (URL or local path): [? for help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueNA
RemarksEnter the Helm chart path of the Release Runner. This is specific to Release Runner.

Enter the Release URL used by Release Runner

Prompt? Enter the Release URL that will be used by the Release runner: [? for help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueNA
RemarksEnter the Release URL that will be used by Release runner. This is specific to Release Runner.

Enter the Release Token used by Release Runner

Prompt? Enter the Release Token that will be used by Release runner: [? for help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueNA
RemarksEnter the Release Token that will be used by Release runner. This is specific to Release Runner.

Enter the Operator Image Name to Use

Prompt? Enter the operator image to use (eg: <imageName> from <repositoryName>/<imageName>:<tagName>): [? for help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueThe latest image from the Digital.ai repository, for example, release-operator
RemarksType the Kubernetes Operator Docker Hub image name you want to use.
By default, the latest image for the product — Release — release-operator

Enter the Operator Image Tag to Use

Prompt? Enter the operator image to use (eg: <tageName> from <repositoryName>/<imageName>:<tagName>): [? for help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueThe latest image from the Digital.ai repository, for example, 24.1.2
RemarksType the Kubernetes Operator Docker Hub image tag you want to use.
By default, the latest image for the product — Release — which you install—would be used.
Example: 24.1.2

For more information, see:

Select the OIDC Configuration

Prompt? Type of the OIDC configuration: [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesexisting [Existing OIDC Configuration]
external [External OIDC Configuration]
identity-service [Identity Service Configuration]
embedded [Embedded Keycloak Configuration]
no-oidc [No OIDC Configuration]
Default valueno-oidc [No OIDC Configuration]
RemarksChoose existing [Existing OIDC Configuration] if you have an existing OIDC setup, which you want to use. Otherwise, choose one of the other options based on the OIDC authentication setup you want to have.

Enter the CRD Name

Prompt? Enter the name of custom resource definition you want to reuse or replace: [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesThe list of all available CRDs.
Default valueNA
RemarksSelect one of the CRDs from the list you want to reuse or replace with a new one.

Confirm CRD's Reuse

Prompt? Should CRD be reused, if No we will delete the CRD digitalaireleases.xld.digital.ai, and all related CRs will be deleted with it: [? for help] (Y/n)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueYes
RemarksCRDs are reused by default unless you answer No to this prompt. Note that choosing to delete a CRD means deleting the associated custom resources as well. Exercise caution before you answer No to this question.

Enter the CR Name

Prompt? Enter the name of custom resource: [Use arrows to move, enter to select, type to filter, ? for more help]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesThe list of available custom resources.
Default valueNA
RemarksSelect the name of the custom resource you want to use.

Edit the List of CR Keys

Prompt? Edit list of custom resource keys that will migrate to the new Release CR: [? for help] [Enter to launch editor]
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueNA
RemarksPress enter and edit the list of custom resource keys in the editor and save the changes.

Preserve Persisted Volume Claims?

Prompt? Should we preserve persisted volume claims? If not all volume data will be lost (Y/n)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valueYes
RemarksPVCs are preserved by default unless you answer No to this prompt. Exercise caution before you answer No to this question.

Once you are done answering the questions, the installer proceeds with the upgrade and in the process prompts you to confirm whether to delete or keep the following resources such as:

  • custom resources
  • deployments
  • jobs
  • services
  • secrets
  • ingress class
  • cluster roles
  • cluster role bindings

You can skip these prompts if you want by using the --skip-prompts flag. See, XL Kube Command Reference for more information.

The installer then proceeds with the upgrade by applying the resources to the cluster and completes the upgrade.