Nscale Topology Provider
The nscale topology provider reads topology data from the Nscale Radar API and converts it into Topograph’s canonical three-tier topology graph.
The provider uses two Nscale APIs:
- Radar API: returns each instance’s network path via
GET /v1/topology - Instance API: returns instance metadata via
GET /v2/instances?organizationID=<org>®ionID=<region>
The Radar response supplies the provider instance ID, switch path, and optional block ID. The Instance API response maps provider instance IDs to hostnames using metadata.id and metadata.name; this is used by the Slurm engine when Topograph discovers Slurm nodes automatically.
When to Use This Provider
Use this provider for Nscale environments where Radar is the topology source. It is most commonly used with the Slurm engine to generate topology.conf from the current Slurm node list.
If the request payload supplies explicit nodes, Topograph uses those instance ID to node name mappings directly. If nodes is omitted and the Slurm engine is used, Topograph runs scontrol show nodes -o, asks the Nscale Instance API for the instance catalog in the configured region, and keeps entries whose metadata.name matches a Slurm node name.
Prerequisites
- A Radar API endpoint reachable from the Topograph host
- An Instance API endpoint reachable from the Topograph host
- An Nscale organization ID
- An API token with permission to read topology and instance metadata
- The Nscale region ID for the cluster
- For Slurm auto-discovery,
scontrolmust be available to the Topograph process
Credentials
Store credentials in a YAML file:
Reference that file from the Topograph config:
Credentials can also be supplied directly in the topology request payload under provider.creds.
Parameters
The top-level Topograph pageSize setting controls pagination for the Radar topology request.
Configuration
Example Topograph config for Slurm:
Example request payload:
If you already have the instance ID to hostname mapping, you can include it explicitly:
How It Works
For each region in the compute instance list, the provider fetches topology pages from Radar:
Each returned instance is translated as follows:
For Slurm auto-discovery, the provider also fetches instance metadata:
It builds the same map produced by:
Verifying the Output
First verify that the Instance API returns the hostnames Slurm knows:
Then trigger topology generation:
For the Slurm engine, verify that the generated topology.conf contains the expected switch hierarchy or block topology for the Nscale instances.