Installing DevOps Test Hub on Azure Kubernetes Service
You can install HCL DevOps Test Hub (Test Hub) on Azure Kubernetes Service (AKS) that has a Kubernetes environment to run functional, integration, and performance tests. Test Hub 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 DevOps Test Hub on Azure Kubernetes Service.
-
Optional: Enabled the autoscaler feature if you want a new container to be used only to run test assets. See Cluster autoscaler on Azure Kubernetes Service.
-
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. -
Configured the location of your AKS cluster.
Note: 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
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 devops,
myorg.nonprod, then
|
$HELM_NAME |
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. |
{HCL_LICENSING_ID} |
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} |
A value of your choice for the password. Important: This password seed is used to create several
default passwords for the server. You must store the password seed
securely. When you install Test Hub 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 Test Hub.
|
{ip_address}.nip.io |
The IP address that is assigned to Emissary-ingress. You can run the following command to obtain the IP address of
Emissary-ingress:
|
devops-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 devops-system
in all the
instances in this procedure.Procedure
-
Run the following command:
helm pull --untar oci://hclcr.io/ot/hcl-devops --version 11.0.0 cd hcl-devops
-
Run the following command to configure kubectl to connect to
the AKS cluster:
az aks get-credentials -g {RESOURCE_GROUP} -n {INSTANCE} --public-fqdn --overwrite-existing kubectl get nodes
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 command to install Test Hub:
Notes:
-
You must provide the namespace as the value for $NAMESPACE in the command. You can use devops-system as the value for $NAMESPACE.
You must provide the value for $HELM_NAME in the command. You can use main as the value for $HELM_NAME.
-
If you enabled the autoscaler feature to use a new container only to run test assets, then you must add -f hcl-devops/values-dedicated-nodes.yaml in the following helm install command.
-
When the ingress domain is accessible to untrusted parties, then you must set the signup parameter to false in the following command.
helm update --install $HELM_NAME . -n $NAMESPACE \ --create-namespace \ --set global.domain=$INGRESS_DOMAIN \ -f values-k8s.yaml \ -f hcl-devops/values-dedicated-nodes.yaml \ --set global.persistence.rwxStorageClass=azurefile \ --set imageRegistry=$IMAGE_REGISTRY \ --set-literal passwordSeed=$PASSWORD_SEED \ --set signup=true \ --set hclFlexnetURL=https://hclsoftware.compliance.flexnetoperations.com \ --set hclFlexnetID=$HCL_LICENSING_ID
-
-
Run the following command from the hcl-devops/files
directory to verify and test the installed server software:
bash hcl-devops/files/helm-test-diag.sh {main} -n devops-system
Results
-
The URL to access Keycloak to manage and authenticate users.
The username can be keycloak and the password can be retrieved by running the following command:
Where:kubectl get secret -n devops-system {main} -keycloak-postgresql -o jsonpath="{.data.password}" | base64 --decode; echo
-
{main} is the name of the release that was provided during the installation of Test Hub.
-
devops-system is the name of the namespace that was created during the installation of Test Hub.
-
-
The URL to access the Test Hub UI.
What to do next
-
Configure licenses for team spaces. See Configuring licenses for team spaces.
-
Configure Test Hub. See Configuration of DevOps Test Hub.