Platform Verification#
You can use the Holoscan for Media Verification Tool to validate cluster readiness and assess key performance characteristics of the Holoscan for Media platform.
Prerequisites#
Cluster Environment#
Holoscan for Media certified cluster
Holoscan for Media local development setup with Kubernetes
Workstation Tooling#
The jump node used to run the tool must have the following installed:
Python 3.10 or 3.12
kubectlinstalled and configured for the target clusterocinstalled (for OpenShift token-based login when applicable)
Cluster Access and Permissions#
A valid
kubeconfigthat includes a user token for the target cluster (in case of an OpenShift cluster)Permissions to create commonly used resources (namespaces, pods, jobs, configmaps, secrets)
Verify Cluster Access#
Before proceeding, verify that you can access the cluster using a token:
Check the current context using:
oc config view --minify --raw
If users > user > token is not present, then log in to the cluster using a token generated from the OpenShift web console:
oc login --token=<token> --server=<cluster_url>
NGC API Key (NVIDIA Container Registry)#
Required to pull container images from NVIDIA NGC
Follow the steps from Create Image Pull Secret to create an NGC API key
Ensure an image pull secret exists in the default namespace and is referenced in the test configuration (as described below)
Rivermax License and Secret#
Network validation tests require the Rivermax license. Create a Kubernetes secret from the license file:
Create Rivermax license secret, replacing
<path_to_license>with the actual path:kubectl create secret generic rivermax-license --from-file=<path_to_license>
Verify that you created the secret:
kubectl get secret rivermax-license
Installation of the Verification Tool#
Download the binary
h4m-verification-tool.tar.gzfrom Verification Tool.Extract the archive:
tar -xvf h4m-verification-tool.tar.gz
Configure the test configuration file
sample_test.yamlas follows:Name
Description
Default
image-pull-secretName of the NGC secretUsekubectl get secretsto get the list of secrets“”
image-nameName of the image to use for the testnvcr.io/nvidia/holoscan-for-media/h4m-verification-tool-internals:0.1.0Example
image-pull-secret: <ngc-secret-name> image-name: nvcr.io/nvidia/holoscan-for-media/h4m-verification-tool-internals:0.1.0
Set up a Python virtual environment:
Install pip, if not present:
sudo apt update && sudo apt install python3-pip python3-venv
Execute the following commands to finish creating the Python virtual environment:
python3 -m venv .venv source .venv/bin/activate pip install --upgrade pip pip install -r requirements.txt
Running the Verification Tool#
Run the tool using the following command:
python3 run_tests.py sample_test.yaml
The tool saves test results in a timestamped directory similar to the following:
cluster-validation-suite_<date_time>/
├── test_runner_<date_time>.log
├── Platform_Checks/
├── Rivermax_Generic_API/
├── summary_report.json
└── test_report.html
test_runner_<date_time>.log: Verification tool execution logPlatform_Checks/: Platform validation outputs and logsRivermax_Generic_API/: Test artifactssummary_report.json: Summary of test outcomestest_report.html: HTML report containing the result of each of the tests