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
andextraVolumes
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.
- Check after upgrade the new documentation in the how to do that: Customize Your Site—Custom Configuration of Release
- If you customized the CR:
- Check the migration definitions in the question:
Edit list of custom resource keys that will migrate to the new Release 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:
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.
- Login to the Release pod.
- Before you start the upgrade, delete the
xlr-wrapper-linux.conf
file from this location (/opt/xebialabs/xl-release-server/conf/
). - 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—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 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—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 | dai-release [Digital.ai Release with optional Runner] | |||||
Remarks | Select 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—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 Release server image name (eg: <imageName> from <repositoryName>/<imageName>:<tagName>): [? for help] (xl-release) | |||||
---|---|---|---|---|---|---|
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-release | |||||
Default value | xl-release | |||||
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 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—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 24.1.2 | |||||
Remarks | Type 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—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 | Enter 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—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 | Enter 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—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 | Enter 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—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, release-operator | |||||
Remarks | Type 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—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, 24.1.2 | |||||
Remarks | Type 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:
- for Release: 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 digitalaireleases.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 Release 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.