Upgrading the server software on Azure Kubernetes Service
When you want to use the latest version of the server software on Azure Kubernetes Service (AKS), you must upgrade HCL OneTest™ Server from the previous version of the software.
Before you begin
-
You must have read and been familiar with additional Helm parameters. See Additional Helm parameters.
-
You must have completed the following tasks:
-
Completed the tasks provided in the Prerequisites section. See Prerequisites for installing the server software on Azure Kubernetes Service.
-
Uninstalled NGINX Ingress controller. For more information refer to the NGINX Ingress Controller documentation.
Note: To install HCL OneTest™ Server 10.2.2 or earlier on AKS, you installed the NGINX as Ingress controller. From 10.2.3 the Ingress controller has been changed to Emissary-ingress. Therefore, you must uninstall the NGINX Ingress controller. -
Installed Emissary-ingress. See Installing Emissary-ingress.
-
Informed users that HCL OneTest™ Server is offline temporarily during the upgrade process.
-
Completed all test executions that are running on the existing version of HCL OneTest™ Server.
-
Stopped all stub executions that are running on the existing version of HCL OneTest™ Server.
-
Canceled any scheduled test runs that have a future date or time.
-
Logged in to the AKS cluster.
Note: You can run the az login command to log in to AKS interactively. -
Subscribed to active Azure subscription.
Note: You can run the az account set --subscription {subscription_name} command to set your active subscription.
-
Optional. You can back up the user data from the earlier version of the product. If the upgrade fails, then you can use that backup file to restore it to the latest version of the server software. See Backing up the server data on Azure Kubernetes Service.
About this task
The following table lists the variables that you must replace with the actual value in the command.
Variables | Description |
---|---|
{resource_group} |
The name of the resource group that you created during the creation of the AKS cluster. |
{azure_cluster} |
The name of the Azure cluster that you created during the creation of the AKS cluster. |
{azure_container_registry} |
The name of the ACR that you created during the AKS setup. |
{my-ingress-dns-name} |
The Ingress name and DNS zone value that you provided during the setting up of the AKS cluster. For example, if the Ingress name and DNS zone value that you provided
are onetest,
myorg.nonprod, then
|
{my-ots} |
The release name that you provided during the installation of the server software. |
helm get values {release_name} -n {namespace}
For example, if your name of the release is my-ots and the name of the namespace is testsystem, then you must run the command as follows:
helm get values my-ots -n testsystemProcedure
-
Add the software
registry to Helm by running the following command:
helm repo add hclsoftware https://hclcr.io/chartrepo/ot
-
Run the following command to get the latest updates from the repository:
helm repo update
-
Run the following commands to fetch the scripts that are used to install HCL OneTest™ Server:
helm pull --untar hclsoftware/hcl-onetest-server --version 10.1051.0 chmod +x hcl-onetest-server/files/*.sh
-
Run the following command to configure kubectl to connect to
the AKS cluster:
az aks get-credentials -g {resource_group} -n {azure_cluster}
Note: You can verify the connection to the AKS cluster by running the kubectl get nodes command that displays a list of the cluster nodes. -
Run the following script from the hcl-onetest-server/files directory to pull the images of HCL OneTest™ Server from the Harbor repository to ACR:
bash hcl-onetest-server/files/move-images.sh {azure_container_registry}.azurecr.io/hcl-onetest hclcr.io/ot/hcl-onetest
Tip: You can verify that multiple manifests are associated with the image in the ACR by running the following commands:az acr repository list -n {azure_container_registry} -otsv az acr repository show-manifests -n {azure_container_registry} --repository \ $(az acr repository list -n {azure_container_registry} -otsv --query [0])
- Run the helm list -A command to list all releases that are deployed across all namespaces.
-
Run the following command to upgrade the server software:
helm upgrade {my-ots} ./hcl-onetest-server -n test-system \ -f hcl-onetest-server/values-k8s.yaml \ --set global.persistence.rwxStorageClass=azurefile \ --set global.hclOneTestIngressDomain={my-ingress-dns-name} \ --set global.hclOneTestRegistry={azure_container_registry}.azurecr.io/hcl-onetest \ --set global.hclOneTestPasswordAutoGenSeed={password-seed}
Note: The following command upgrades the server software by referencing the images from ACR. Therefore, HCL OneTest™ Server can provide better performance. -
Run the following script from the hcl-onetest-server/files directory to verify and test the
installed server software:
hcl-onetest-server/files/helm-test-diag.sh {my-ots} -n test-system
Results
-
Keycloak URL to manage and authenticate users.
-
A URL to access the HCL OneTest™ Server UI.
What to do next
-
Configure licenses for team spaces. See Configuring licenses for team spaces.
-
Configure the server software. See Configuration of the server software.