Skip to main content
Version: Deploy 24.3

Upgrade Options Reference for Digital.ai Deploy

  • Here's a list of questions that you would have to answer to upgrade Digital.ai Deploy using the xl kube upgrade command.
  • While some of the following questions are common for both Deploy and Release, some are relevant only for Deploy and that 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 Deploy)

Upgrade to 24.3.x and persistent volumes

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

  • conf
  • ext
  • hotfix
  • hotfix/lib
  • hotfix/plugins
  • hotfix/plugins/satellite-lib
  • centralConfiguration - only on central configuration pod
  • log - it was removed from 23.3 version

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:

  • For centralConfiguration:

    • or: centralConfiguration.extraVolumeMounts and centralConfiguration.extraVolumes.
  • For master:

    • master.persistence.paths
    • or: master.extraVolumeMounts and master.extraVolumes.
  • For worker:

    • worker.persistence.paths
    • or: worker.extraVolumeMounts and worker.extraVolumes.

See Upgrade Patch Version of the Deploy)

Removal of the persistent configuration for central configuration

The centralConfiguration.persistence path was removed from CR (values.yaml) because there is no need for that configuration anymore.

Backup before upgrade

  • Before you upgrade existing Deploy 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 Deploy 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 Deploy 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 Deploy directory in the pre-23.3 versions by using spec.deploy.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 Deploy 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

Upgrade Deploy Operator from 23.1.x to 24.3.x

Perform the following steps, before you upgrade the Deploy Operator from 23.1.x to 24.3.x.

Central Configuration Pod

  1. Login to the Deploy Central Configuration pod.
  2. Before you start the upgrade, delete the deploy-task.yaml and deploy-server.yaml files from the /opt/xebialabs/central-configuration-server/centralConfiguration/ location, and delete the xlc-wrapper.conf.common file from the /opt/xebialabs/central-configuration-server/conf/ location. When you upgrade, these file are replaced with the upgraded version.

Master Pod

  1. Login to the Deploy Master pod.
  2. Before you start the upgrade, delete the xld-wrapper.conf.common file from the /opt/xebialabs/xl-deploy-server/conf/ location. When you upgrade, the xld-wrapper.conf.common file is replaced with the upgraded version.

Worker Pod

  1. Login to the Deploy Worker pod.
  2. Before you start the upgrade, delete the xld-wrapper.conf.common file from the /opt/xebialabs/deploy-task-engine/conf/ location. When you upgrade, the xld-wrapper.conf.common file is replaced with the upgraded version.

Note: If you have any custom changes in the above mentioned files, copy those changes locally, and apply them after the upgrade.

Deploy Upgrade Options Reference

Here's a list of questions that you would have to answer to upgrade Digital.ai Deploy 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 Deploy 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 value-
RemarksSelect a product—dai-deploy [Digital.ai Deploy]

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 Deploy server image name (eg: <imageName> from <repositoryName>/<imageName>:<tagName>): [? for help] (xl-deploy)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesxl-deploy
Default valuexl-deploy
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 Digital.ai Deploy. 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 23.3.0
RemarksType the product version number you want to install, for example, 23.3.0 or 23.3.4.

Enable Security Context Constraints (SCCs)

Prompt? Do you want to enable Security Context Constraints (SCCs)? (y/N)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
NoNoNoYesNo
Available valuesYes/No
Default valueNo
RemarksSCCs are disabled by default. If upgrading from a setup where SCCs are enabled, select 'Yes' to retain the configuration or manually configure SCCs to avoid pod failures.

Enter the Deploy Task Engine Image Name

Prompt? Enter the deploy task engine image name for version 22 and above (eg: <imageName> from <repositoryName>/<imageName>:<tagName>): [? for help] (deploy-task-engine)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valuedeploy-task-engine
RemarksType the name of the Digital.ai Deploy task engine image you want to use. This is relevant for Digital.ai Deploy 22.0.0 and later.

Enter the Deploy Central Configuration Image Name

Prompt? Enter the central configuration image name for version 22 and above (eg: <imageName> from <repositoryName>/<imageName>:<tagName>): [? for help] (central-configuration)
Prompt valid for—platformEKSAKSGKEOpenShift on AWSPlain Multi-node Kubernetes
Cluster On-premise
YesYesYesYesYes
Available valuesNA
Default valuecentral-configuration
RemarksType the name of the Digital.ai Deploy central configuration image you want to use. This is relevant for Digital.ai Deploy 22.0.0 and later.

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, deploy-operator
RemarksType the Kubernetes Operator Docker Hub image name you want to use.
By default, the latest image for the product — Deploy — deploy-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, 23.3.0
RemarksType the Kubernetes Operator Docker Hub image tag you want to use.
By default, the latest image for the product — Deploy — which you install—would be used.
Example: 23.3.0

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 digitalaideploys.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 Deploy 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.