What can I help you with?
NMX Manager (NMX-M) Documentation v85.1.2000

NMX Services Registration

In order for NMX-M to receive network telemetry and control information, NMX-M needs to register with NMX-T and NMX-C.

NMX Manager communicates with those services using mTLS encryption, which requires certificates to be configured.

During installation, mTLS certificates are automatically created and configured.

To have certificates configured for switch-trays that host NMX-C and NMX-T, use create-certificate.sh that can be found at this path: /opt/nvidia/nmx/Installation/Ansible/tools

1. Log in via SSH to the NMX Manager node that was used to run the NMX Manager installation process.

Copy
Copied!
            

ssh nvidia@<IP_Address>

2. Use the create-certificate.sh script as root. Provide a certificate name, typically the switch's hostname or IP address.

Copy
Copied!
            

nvidia@ubuntu:~$ su root@ubuntu:/home/nvidia# /opt/nvidia/nmx/Installation/Ansible/tools/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.

3. Copy example-ca.crt and example-tls.p12 to the NVOS switch-tray and configure NMX services to use it.

4. Follow NVIDIA NVOS User Manual for NVLink Switches → NVLink Switching → Cluster Management → Cluster Manager → Cluster Manager Commands to apply the certificates to both NMX-C and NMX-T.

This can be accomplished by sending a POST request to the nmx/v1/services API using the following format:

Example POST Request:

Copy
Copied!
            

{   "Name": "Some-Name",   "Description": "This is a description.",   "ServiceType": "TELEMETRY",   "ServiceConnectionInformation": {     "Address": "1.1.1.1",     "PortNumber": 8001   } }

Equivalent cURL Command:

Copy
Copied!
            

curl --request POST \ --url https://NMX_M-IP/nmx/v1/services \ --header 'Authorization: Basic cnctdXNlcjpOdmlkaWExMg==' \ --header 'Content-Type: application/json' \ --data '{ "Name": "Some Name", "Description": "Sample Description", "ServiceType": "CONTROLLER", "ServiceConnectionInformation": { "Address": "10.188.47.166", "PortNumber": 9370 } }'

Note: The Authorization header will use either rw-user or ro-user along with the corresponding password.

Checking the Status of Registered Services

To retrieve the status of all registered services, perform a GET request to the same API.

Example Response:

Copy
Copied!
            

[   {     "Status": "UP",     "Description": "Description",     "Address": "1.1.1.1",     "UpSince": "2000-01-23T04:56:07.000+00:00",     "Name": "Name",     "ApplicationUUID": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",     "Version": "Version",     "StatusInfo": "StatusInfo",     "ServiceType": "TELEMETRY",     "ID": "551137c2f9e1fac808a5f572",     "ClusterDomainUUID": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",     "PortNumber": 8001,     "RegisteredAt": "2000-01-23T04:56:07.000+00:00"   } ]

Equivalent cURL Command:

Copy
Copied!
            

curl --request GET \ --url https://NMX-M-IP/nmx/v1/services \ --header 'Authorization: Basic cnctdXNlcjpOdmlkaWExMg=='

Note: The Authorization header will use either rw-user or ro-user along with the corresponding password.

Filtering Services

You can filter the response to retrieve only Telemetry or Controller services. For example, the following command retrieves only Telemetry services:

Copy
Copied!
            

curl --request GET \ --url https://NMX-M-IP/nmx/v1/services \TELEMETRY&offset=0&limit=1' \ --header 'Authorization: Basic cnctdXNlcjpOdmlkaWExMg=='

© Copyright 2025, NVIDIA. Last updated on May 29, 2025.