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

  • kubectl installed and configured for the target cluster

  • oc installed (for OpenShift token-based login when applicable)

Cluster Access and Permissions#

  • A valid kubeconfig that 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:

  1. Check the current context using:

    oc config view --minify --raw
    
  2. 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:

  1. Create Rivermax license secret, replacing <path_to_license> with the actual path:

    kubectl create secret generic rivermax-license --from-file=<path_to_license>
    
  2. Verify that you created the secret:

    kubectl get secret rivermax-license
    

Installation of the Verification Tool#

  1. Download the binary h4m-verification-tool.tar.gz from Verification Tool.

  2. Extract the archive:

    tar -xvf h4m-verification-tool.tar.gz
    
  3. Configure the test configuration file sample_test.yaml as follows:

    Name

    Description

    Default

    image-pull-secret

    Name of the NGC secret
    Use kubectl get secrets to get the list of secrets

    “”

    image-name

    Name of the image to use for the test

    nvcr.io/nvidia/holoscan-for-media/h4m-verification-tool-internals:0.1.0

    Example
    image-pull-secret: <ngc-secret-name>
    image-name: nvcr.io/nvidia/holoscan-for-media/h4m-verification-tool-internals:0.1.0
    
  4. Set up a Python virtual environment:

    1. Install pip, if not present:

      sudo apt update && sudo apt install python3-pip python3-venv
      
    2. 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 log

  • Platform_Checks/: Platform validation outputs and logs

  • Rivermax_Generic_API/: Test artifacts

  • summary_report.json: Summary of test outcomes

  • test_report.html: HTML report containing the result of each of the tests

Tool Configuration#