You can install HCL OneTest™ Server on the Ubuntu server that has a Kubernetes environment to run functional, integration,
and performance tests. HCL OneTest™ Server combines test data, test environments, and test runs and reports into a single, web-based
browser for testers and non-testers.
Before you begin
You must have performed the following tasks:
Procedure
-
Log in to the Ubuntu server using an SSH session.
-
Run the following command to get the latest updates from the repository:
-
Create a Secret to pull the images that are used by HCL OneTest™ Server by running the following command:
kubectl create secret docker-registry hclcr.io \
-n test-system \
--docker-server=hclcr.io \
--docker-username={okta-email-address} \
--docker-password={harbor-cli-secret} \
--docker-email=example@abc.com
Notes:
-
You must replace
{okta-email-address}
with the user name of the
Harbor repository and replace {harbor-cli-secret}
with the secret key that you copied from the Harbor
repository.
If the user name contains any special characters, such as $, you must
enclose it within single quotes.
-
You can replace example@abc.com
with the email address
of the administrator if required.
-
Perform the following steps to install the server software:
-
Run the following command to get the latest updates from the
repository:
-
Run the following command to retrieve the charts required to install
the server software:
helm pull --untar hclsoftware/hcl-onetest-server --version 5.1020.0
-
Run the following command to provide the execution permission for the
scripts that are available in the files
directory:
chmod +x hcl-onetest-server/files/*.sh
-
Perform one of the steps described in the following table to install
the server software based on your requirement:
Step description |
Step no |
To install the server software
|
Perform 4.d.i |
To install the server software and enable the service
virtualization through Istio, a Tech Preview feature
|
Perform 4.d.ii and 4.d.iv |
To install the server software, enable the service
virtualization through Istio, a Tech Preview feature,
and to use another instance of the Jaeger UI
|
Perform 4.d.iii and 4.d.iv |
To install the server software and to use another
instance of the Jaeger UI
Note: You must perform this step only if you want to use
another instance of Jaeger than the one you installed
during the setting up of the Kubernetes k3s
environment.
|
Perform 4.d.v |
To install the server software and enable performance
test runs on the static agents
|
Perform 4.d.vi |
-
Run the following command to install the server software:
helm install {my-ots} ./hcl-onetest-server -n test-system \
-f hcl-onetest-server/values-k3s.yaml \
--set global.hclOneTestIngressDomain={my-ingress-dns-name} \
--set global.hclFlexnetURL=https://hclsoftware.compliance.flexnetoperations.com \
--set global.hclFlexnetID={cloud-license-server-id} \
--set global.hclImagePullSecret=hclcr.io \
--set global.hclOneTestPasswordAutoGenSeed={password-seed}
-
Run the following command to install the server software and
to enable Istio service virtualization, a Tech Preview
feature:
helm install {my-ots} ./hcl-onetest-server -n test-system \
-f hcl-onetest-server/values-k3s.yaml \
--set global.hclOneTestIngressDomain={my-ingress-dns-name} \
--set global.hclFlexnetURL=https://hclsoftware.compliance.flexnetoperations.com \
--set global.hclFlexnetID={cloud-license-server-id} \
--set global.hclImagePullSecret=hclcr.io \
--set global.hclOneTestPasswordAutoGenSeed={password-seed} \
-f hcl-onetest-server/values-k3s-demo.yaml
-
Run the following command to install the server software, to
enable Istio service virtualization, a Tech Preview feature,
to use another instance of Jaeger than the one you installed
during the setting up of the Kubernetes k3s environment:
helm install {my-ots} ./hcl-onetest-server -n test-system \
-f hcl-onetest-server/values-k3s.yaml \
--set global.hclOneTestIngressDomain={my-ingress-dns-name} \
--set global.hclFlexnetURL=https://hclsoftware.compliance.flexnetoperations.com \
--set global.hclFlexnetID={cloud-license-server-id} \
--set global.hclImagePullSecret=hclcr.io \
--set global.hclOneTestPasswordAutoGenSeed={password-seed} \
-f hcl-onetest-server/values-k3s-demo.yaml
--set global.jaegerDashboard.externalURL={my-jaeger-dashboard-url} \
--set global.jaegerAgent.internalHostName=localhost
-
Run the following command to enable service virtualization
through Istio, a Tech Preview feature in the specific
namespace:
kubectl create rolebinding istio-virtualization-enabled -n bookinfo --clusterrole={my-ots}-execution-istio-test-system --serviceaccount=test-system:{my-ots}-execution
Where, {my-ots} is the name of the release that is
provided during the installation of the server software.
Note: When you uninstall the chart, the manually created role
bindings are not deleted from the namespace. You can run the
following command to delete the role
bindings:
kubectl delete rolebinding istio-virtualization-enabled -n bookinfo
-
Run the following command to install the server software and
to use another instance of Jaeger than the one you installed
during the setting up of the Kubernetes k3s environment:
helm install {my-ots} ./hcl-onetest-server -n test-system \
-f hcl-onetest-server/values-k3s.yaml \
--set global.hclOneTestIngressDomain={my-ingress-dns-name} \
--set global.hclFlexnetURL=https://hclsoftware.compliance.flexnetoperations.com \
--set global.hclFlexnetID={cloud-license-server-id} \
--set global.hclImagePullSecret=hclcr.io \
--set global.hclOneTestPasswordAutoGenSeed={password-seed} \
--set global.jaegerDashboard.externalURL={my-jaeger-dashboard-url} \
--set global.jaegerAgent.internalHostName=localhost
-
Run the following command to install the server software and
to enable performance test runs on the static agents:
If you have performance tests that distribute workload across
different workstations, then you can add HCL OneTest™ Performance Agents to your projects to run those tests on remote
workstations. To run performance test assets such as VU
schedule or Rate schedule on a static agent, you must run
the following command to enable the performance test runs on
the static agents.
helm install {my-ots} ./hcl-onetest-server -n test-system \
-f hcl-onetest-server/values-k3s.yaml \
--set global.hclOneTestIngressDomain={my-ingress-dns-name} \
--set global.hclFlexnetURL=https://hclsoftware.compliance.flexnetoperations.com \
--set global.hclFlexnetID={cloud-license-server-id} \
--set global.hclImagePullSecret=hclcr.io \
--set networkPolicy.enabled=false \
--set global.hclOneTestPasswordAutoGenSeed={password-seed} \
--set networkPolicy.enabled=false
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
is displayed on completion of the ubuntu-init.sh
script.
-
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: If 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.
- Optional:
Run the following command to remove a job that is used to initialize the
PostgresQL database during the installation of the server software:
kubectl delete job {my-ots}-postgresql-init -n test-system
- Optional:
Perform the following steps to migrate data into HCL OneTest™ Server, if you upgraded the server software from the previous version (V10.1.0,
V10.1.1, or V10.1.2):
-
Run the following script from the hcl-onetest-server/files directory to create a directory
that contains metadata related to the Persistent Volume Claims and their
Persistent Volumes:
migrate.sh create-pvcs -n test-system {my-ots}
-
Run the following script from the hcl-onetest-base directory to
back up the data:
sudo backup.sh create-pvc-links -v
~/migration-pvc-links
-
Run the following command to stop the cluster and HCL OneTest™ Server:
k3s-killall.sh
-
Run the following script from the hcl-onetest-base directory to
restore the backed-up data:
sudo backup.sh restore -v ~/migration-pvc-links
<backup-file-name> --release
Note: You must replace <backup-file-name>
with the name of the backed-up file that you saved.
-
Run the following command to restart Kubernetes and to start HCL OneTest™ Server:
sudo systemctl start k3s
-
Run the following script from the hcl-onetest-server/files directory to merge the data
into the server:
migrate.sh merge-dbs -n test-system {my-ots}
-
Run the following command to remove the resources that were created
during the migration process:
migrate.sh delete-temp-resources -n test-system {my-ots}
- Optional:
Perform the following steps to restore the backed-up user data from V10.1.3 to
the latest version:
-
Run the following script from the hcl-onetest-base directory to
create a directory that contains metadata related to the Persistent
Volume Claims and their Persistent Volumes:
sudo backup.sh create-pvc-links
-
Stop the Kubernetes cluster by running the
k3s-killall.sh
command.
-
Restore the backed-up user data by running the following
commands:
sudo ./backup.sh restore [options] <backup-file-name>
Note: You must replace <backup-file-name>
with the name of the backed-up file that you saved.
You can use the following parameters along with the
restore command:
-
Restart the Kubernetes cluster by running the
systemctl start
k3s
command to start HCL OneTest™ Server.
-
Run the following script from the hcl-onetest-server/files directory to create all the
missing databases:
migrate.sh create-missing-dbs {my-ots}
Note: You can expect that the output of the
command to contain a number of errors pertaining to objects that
already exist. They do not indicate a problem with the execution of
the script.
-
Run the following command 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
On completion of the installation of server software, the output displays the
following information on the command-line interface:
What to do next
You can perform certain tasks as a Server
Administrator. See Configuration of the server software.