Register Services

NetQ must register with the NMX-T (telemetry) and NMX-C (controller) services to begin receiving network telemetry and control data. Communication between these services is secured using certificate-based mTLS encryption. These certificates are automatically created during the installation process, but you must configure them on the switch trays hosting NMX-C and NMX-T.

You can also perform the steps outlined on this page using the /v1/switch-profiles endpoint. Refer to NVLink Bringup for more information.

Generate Certificates

  1. Use SSH to log in to the master node of your NetQ NVLink deployment. This is the node you used during the initial installation.
ssh nvidia@<IP_Address>
  1. Run the /opt/netq-admin/nvl/scripts/create-certificate.sh script as the root user. When prompted, provide a certificate name (typically the switch’s hostname or IP address):
nvidia@ubuntu:~$ su
root@ubuntu:/home/nvidia# /opt/netq-admin/nvl/scripts/create-certificate.sh example
certificate.cert-manager.io/example-certificate created
Certificate is ready after 10 seconds.
Extracting secret data to local files...
Files created:
-rw-r--r-- 1 root root 1094 May 29 11:57 example-ca.crt
-rw-r--r-- 1 root root 1424 May 29 11:57 example-tls.crt
-rw-r--r-- 1 root root 3243 May 29 11:57 example-tls.key
-rw------- 1 root root 3907 May 29 11:57 example-tls.p12
Done.
  1. Copy the example-ca.crt and example-tls.p12 files to the switch tray. Replace the filenames with the actual names of the files. Use the NVOS cluster manager commands to apply the certificates to both NMX-C and NMX-T.

  2. After the certificates are applied, enable the manager with the nv action update cluster apps <app-name> manager command.

Register Services

Register the services by making a POST request to the v1/services endpoint. NMX-C listens on port 9370 and NMX-T listens on port 9351.

curl --request POST \
  --url https://<ip_address>/nmx/v1/services \
  --header 'Authorization: Basic cnctdXNlcjpOdmlkaWExMg==' \
  --header 'Content-Type: application/json' \
  --data '{
  "Name": "Registration,
  "Description": "Example registration to controller",
  "ServiceType": "CONTROLLER",
  "ServiceConnectionInformation": {
    "Address": "10.188.47.166",
    "PortNumber": 9370
  }
}'

Check the Status of a Registered Service

To retrieve the status of all registered services, make a GET request to the /v1/services endpoint.

curl --request GET \
  --url https://<ip_address>/nmx/v1/services \
  --header 'Authorization: Basic cnctdXNlcpOdmlkaWExMg=='

You can add a filter to the response to retrieve either telemetry or controller services exclusively:

curl --request GET \
  --url https://<ip_address>/nmx/v1/services \TELEMETRY&offset=0&limit=1' \\
  --header 'Authorization: Basic cnctdXNlcpOdmlkaWExMg=='

Delete a Registered Service

To delete a service, make a DELETE request to /nmx/v1/services/{id}, where {id} is the entity ID of the service returned by the registration response or by a prior GET request.

curl --request DELETE \
  --url https://<ip_address>/nmx/v1/services/<service_id> \
  --header 'Authorization: Basic cnctdXNlcjpOdmlkaWExMg=='

To retrieve a service ID before deleting, query the services list and note the ID field of the target entry:

curl --request GET \
  --url https://<ip_address>/nmx/v1/services \
  --header 'Authorization: Basic cnctdXNlcjpOdmlkaWExMg=='

Automatic Domain Cleanup

When both services (NMX-T and NMX-C) associated with a domain are deleted, NetQ automatically removes all entities that belong to that domain. This includes:

  • Switch nodes
  • Compute nodes
  • GPUs
  • Ports
  • Partitions
  • Chassis

The cleanup runs in the background after both service deletions are confirmed.