CVT Configuration
This document outlines the configuration options available in the cvt_env.conf file, which controls various aspects of the Cable Validation Tool (CVT) collector and agent behavior.
Configuring CVT
CVT can be configured through two primary methods:
Environment Variables: Setting system-level environment variables.
Configuration File (
cvt_env.conf): Defining variables within thecvt_env.conffile.
Precedence
When a configuration option is defined in both the environment variables and the cvt_env.conf file, environment variables take precedence over the values specified in the configuration file.
For example, if AGENT_COLLECT_INTERVAL is set to 300 in your shell's environment variables and to 600 in cvt_env.conf, CVT will use 300 as the collection interval.
Changing Configuration
Via Configuration File: To apply changes made to the
cvt_env.conffile, you must edit the file and then restart the CVT service:supervisorctl restart cvt-serviceVia Environment Variables: To apply changes using environment variables, you need to set the environment variables in the Docker container run command when launching the CVT service.
Example:
docker run --name cables_bringup -itd --env VAR1=value1 --env VAR2=value2 --network=host mellanox/cables_bringup:<version>
Network Configuration
Variable | Description | Default |
| Collector External (NAT) IP address. Define this if there is a NAT between the collector and the agents. This IP is used by agents to fetch images and send data/reports. | Empty (no NAT configured) |
| NAT port is used for port-forwarding from K8s or other intermediate networks to the collector. If the port is empty, CVT will use the https port of the collector (APACHE_HTTPS_PORT) or default 443 | Empty (default is APACHE_HTTPS_PORT or 443) |
| Interface name of the collector over which all agents (switch and host) communicate. The IP of this interface is used by agents to fetch images and send data/reports. | Empty (IP of default interface is used) |
| Use if a different interface is desired for host agents, separate from | Empty (uses same interface as |
Variable | Description | Value / Unit | Default | Constraints |
| Set to true if the switch hostname contains a dot (other than the domain part). | Boolean | Empty (implies false) | — |
| Time after which a full report is forced to be published. | Minutes | 720 (12 hours) | Interval less than 10 minutes is not supported |
| Set to true to publish amber data on each agent iteration, regardless of changes. | Boolean | false | — |
| Agent data collection interval. Controls how often the agent collects and processes port/link data. | Seconds | 600 (10 minutes) | — |
| Enable/Disable nvlink addition and validation for gb200/300 nodes. | Boolean | true | — |
| Allows users to dynamically specify additional raw amber fields or processed agent attributes to be captured and reported without requiring any modifications to the core source code. Example: CUSTOM_AMBER_FIELDS = transceiver_reinsert_cnt, transceiver_swap_cnt, Advanced_Status_Opcode | Comma separated strings | Empty | |
| Interval to check ports in seconds (default 10 seconds). This controls how often the agent checks the ports for changes. | Seconds | 10 sec | |
| Maximum interval between authentication failures in seconds (default 10 minutes) interval starts from 10 seconds and doubles every failure, till it reaches the maximum interval | Seconds | 600 (10 minutes) |
Variable | Description | Value / Unit | Default | Constraints / Notes |
| Maximum time to wait for an agent to become inactive. | Minutes | 15 | — |
| Interval to check for new switches. | Minutes | 15 | — |
| Time to wait for an agent to become active after starting validation. | Minutes | 5 | — |
| Time to wait for an agent to become inactive. | Minutes | 1 | — |
| Maximum number of workers to run in parallel for general operations (validation, connectivity, DNS). | — | 30 | — |
| Maximum number of workers for agent deployment (limited due to image transfers). | — | 30 | — |
| Quick timeout for unreachable devices, reducing wait time for failed connections. | Seconds | 3 | — |
| Agent communication timeout for individual HTTP requests to agents. | Seconds | 30 | — |
| Batching threshold; batching is only used for deployments larger than this value to reduce overhead. | — | 5000 | — |
| Batch size when batching is used (devices per batch). | — | 1000 | — |
| DNS resolver options for fast timeouts to avoid long waits on unresolvable hostnames. Configures system resolver behavior when | Format: |
|
|
SSH Configuration
More details on this can be found at Agent Deployment and SSH Configuration
Variable | Description | Value / Unit | Default |
| SSH private key file path for passwordless authentication to HOST devices only. SSH keys are not used for switch devices. Must be accessible inside the collector container. Leave empty to use standard SSH key discovery. | Path | Empty (uses standard SSH key discovery) |
| SSH connection timeout for both SSH command execution and SFTP file transfers. Increase for slow networks, decrease for faster failure detection. | Seconds | 20 |
| Enable automatic SSH key discovery from SSH agent and default locations. Applies only to HOST devices when no password is provided. | Boolean | true |
Apache Configuration
More details on this can be found at Apache Configuration for CVT Collector
Variable | Description | Value / Unit | Default |
| Apache performance profile based on server resources and cluster scale. This controls Apache's concurrency, connection handling, and optimization settings. | small, medium, large, xlarge, auto | small |
| Log level for Apache error logs. Higher levels reduce log volume. | debug, info, notice, warn, error, crit, alert, emerg | warn |
| Enable or disable Apache access logs (request logging). Set to 'false' to disable access logs and reduce disk I/O on high-traffic deployments. | Boolean | true |
Variable | Description | Options / Value | Default |
| Topology loading at startup. Specifies which topology file to load. |
| none |
| Automatically start validation if a topology file is loaded. | Boolean | false |
| credentials file to load at startup | none:no credentials will be loaded. <path>: load the credentials file (json, ini, cfg) |
Data Management
Variable | Description | Value/Unit | Default |
| Set to true to enable polling for stats from the CVT collector. | Boolean | false |
| Cron schedule for data directory archiving | minute hour day month weekday | 5 0 * * * (daily at 00:05 UTC) |
| Maximum number of plain (uncompressed) data directories to keep. Older directories are compressed to .tgz archives | Integer | 7 |
| Maximum total data entries (plain + archived) to keep. Oldest archives are deleted when this limit is exceeded | Integer | 30 |