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 podlog
- 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
andcentralConfiguration.extraVolumes
.
- or:
-
For master:
master.persistence.paths
- or:
master.extraVolumeMounts
andmaster.extraVolumes
.
-
For worker:
worker.persistence.paths
- or:
worker.extraVolumeMounts
andworker.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.
- Check after upgrade the new documentation in the how to do that: Customize Your Site—Custom Configuration of Deploy
- If you customized the CR:
- Check the migration definitions in the question:
Edit list of custom resource keys that will migrate to the new Deploy CR
- If the configuration changes are not part of migration definitions, you can add additional migration definition, check for details Custom resource keys migration
- 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
- Check the migration definitions in the question:
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
- Login to the Deploy Central Configuration pod.
- Before you start the upgrade, delete the
deploy-task.yaml
anddeploy-server.yaml
files from the/opt/xebialabs/central-configuration-server/centralConfiguration/
location, and delete thexlc-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
- Login to the Deploy Master pod.
- Before you start the upgrade, delete the
xld-wrapper.conf.common
file from the/opt/xebialabs/xl-deploy-server/conf/
location. When you upgrade, thexld-wrapper.conf.common
file is replaced with the upgraded version.
Worker Pod
- Login to the Deploy Worker pod.
- Before you start the upgrade, delete the
xld-wrapper.conf.common
file from the/opt/xebialabs/deploy-task-engine/conf/
location. When you upgrade, thexld-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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | kubectl current context | |||||
Default value | kubectl current context | |||||
Remarks | Confirm 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | Openshift [Openshift] AWSEKS [AWS EKS] PlainK8s [Plain multi-node K8s cluster] AzureAKS [Azure AKS] GoogleGKE [Google Kubernetes Engine] | |||||
Default value | Openshift [Openshift] | |||||
Remarks | You 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | digitalai | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | dai-release [Digital.ai Release with optional Runner] dai-deploy [Digital.ai Deploy] dai-release-remote-runner [Digital.ai Release Runner] | |||||
Default value | - | |||||
Remarks | Select 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | operatorToOperator [Operator to Operator] helmToOperator [Helm to Operator] | |||||
Default value | operatorToOperator [Operator to Operator] | |||||
Remarks | Select 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
Prompt | Select type of image registry (current default is default): [? for help] (xebialabs) | |||||
---|---|---|---|---|---|---|
Prompt valid for—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | default | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | xebialabs | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | xl-deploy | |||||
Default value | xl-deploy | |||||
Remarks | Type 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.
- Digital.ai Deploy Operator Image
- Digital.ai Deploy Image
- Digital.ai Deploy Task Engine Image
- Digital.ai Deploy Central Configuration Image
Prompt | ? Enter the application image tag (eg: <tagName> from <repositoryName>/<imageName>:<tagName>): [? for help] | |||||
---|---|---|---|---|---|---|
Prompt valid for—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | The latest release available in the repository, for example 23.3.0 | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
No | No | No | Yes | No | ||
Available values | Yes/No | |||||
Default value | No | |||||
Remarks | SCCs 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | deploy-task-engine | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | central-configuration | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | The latest image from the Digital.ai repository, for example, deploy-operator | |||||
Remarks | Type 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | The latest image from the Digital.ai repository, for example, 23.3.0 | |||||
Remarks | Type 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:
- for Deploy: Select the Type of OIDC Configuration.
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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | existing [Existing OIDC Configuration] external [External OIDC Configuration] identity-service [Identity Service Configuration] embedded [Embedded Keycloak Configuration] no-oidc [No OIDC Configuration] | |||||
Default value | no-oidc [No OIDC Configuration] | |||||
Remarks | Choose 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | The list of all available CRDs. | |||||
Default value | NA | |||||
Remarks | Select 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | Yes | |||||
Remarks | CRDs 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | The list of available custom resources. | |||||
Default value | NA | |||||
Remarks | Select 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | NA | |||||
Remarks | Press 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—platform | EKS | AKS | GKE | OpenShift on AWS | Plain Multi-node Kubernetes Cluster On-premise | |
Yes | Yes | Yes | Yes | Yes | ||
Available values | NA | |||||
Default value | Yes | |||||
Remarks | PVCs 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.