Installing the server software on Azure Kubernetes Service
You can install HCL OneTest™ Server on Azure Kubernetes Service (AKS) that has a Kubernetes environment to run functional, integration, and performance tests. HCL OneTest™ Server combines all the capabilities into a single web-based browser for testers and non-testers. The capabilities include test runs, test data, test environment, or test reports.
Before you begin
You must have performed the following tasks:
-
Completed the tasks provided in the Prerequisites section. See Prerequisites for installing the server software on Azure Kubernetes Service.
-
Optional: Enabled the autoscaler feature if you want a new container to be used only to run test assets and to open the test editor. See Cluster autoscaler on Azure Kubernetes Service.
-
Logged in to the AKS cluster. You can run the
az login
command to log in to AKS interactively. -
Subscribed to active Azure subscription. You can run the
az account set --subscription {subscription_name}
command to set your active subscription. -
Configured the location of your AKS cluster. You can run the
az configure --defaults location={location_name}
command to set the location of your AKS cluster.Tip: You can run the following command to get the list of all the available locations:az account list-locations --query "[].{DisplayName:displayName, Name:name}" -o table
About this task
You must replace the following variables with the actual value in this procedure:
-
{resource_group}
with the name of the resource group that you created during the creation of the AKS cluster. -
{azure_cluster}
with the name of the Azure cluster that you created during the creation of the AKS cluster. -
{azure_container_registry}
with the name of the Azure Container Registry (ACR) that you created during the AKS setup. -
{my-ingress-dns-name}
with the INGRESS_DOMAIN value that you provided during the installation of NGINX Ingress Controller.
-
If you administer a network policy for your server installation.
-
If you do not intend to use the test authoring feature.
--set global.hclOneTestAuthorEnabled=false
Procedure
-
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 7.1022.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])
-
Create a namespace in which you want to install the server software by running
the following command:
kubectl create namespace test-system
Remember: test-system is the name of the namespace. If you created a namespace by using a different value, then you must use that value in place of the test-system in all the instances in this procedure. -
Run the following script from the hcl-onetest-server/files
directory to enable Certificate Authority (CA) as trusted certificates and to
create an ingress Secret:
hcl-onetest-server/files/certificate.sh -n test-system -s ingress {my-ingress-dns-name}
-
Perform one of the steps described in the following table to install the server
software based on your requirement:
Task description Step number To install the server software
Perform 8.a To install the server software and enable Jaeger for performance and Web UI tests logs
Perform 8.b Note: The following command installs the server software by referencing the images from ACR. Thereby, HCL OneTest™ Server can provide better performance.You must substitute the value of the following variables with the actual value in the command:-
{my-ots}
with the release name of your choice.Note: The release name must consist of alphanumeric characters that are in lowercase or-
(hyphen). The release name must also start with an alphabetic character and end with an alphanumeric character. For example, my-org or abc-123. -
{my-ingress-dns-name}
with the INGRESS_DOMAIN value that you provided during the installation of NGINX Ingress Controller. -
Optional:
{cloud-license-server-id}
with the ID of the License Server for the initial team space, if you want to set the license for the first time.Important: When you want to upgrade the product from the previous version, you must configure the value of License Server ID from the Team Space License Configuration page when the installation of the server is complete. -
{password-seed}
with a value of your choice.Important: This password seed is used to create several default passwords for the server. You must store the password seed securely. When you install the server software by using the backup of the user data, you can reuse the password seed. You can use this seed to restore the backed-up files either on the current or later versions of the server software. -
{my-jaeger-dashboard-url}
with the URL of the Jaeger server.
-
-
Run the following script from the hcl-onetest-server/files directory to verify and test the
installed server software:
$ helm test {my-ots} -n test-system
where
{my-ots}
is the name of the release that was provided during the installation of the server software.
Results
-
The URL to access Keycloak to manage and authenticate users.
The user name can be keycloak and the password can be retrieved by running the following command:
where:kubectl get secret -n test-system {my-ots}-keycloak-postgresql -o jsonpath="{.data.password}" | base64 --decode; echo
-
{my-ots}
is the name of the release that was provided during the installation of the server software. -
test-system
is the name of the namespace that you created during the installation of the server software.
-
-
The 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.