Fuzzball Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Getting Node Details

Get detailed information on a specific compute node in your Fuzzball cluster.

Please select either the web UI or CLI tab to see the appropriate instructions for your environment.

From the Nodes page (see Listing Nodes), click any row to open a Node details dialog showing:

  • Node Information: ID, hostname, CPU, and memory.
  • Resource Summary: total, allocated, and available cores and memory.
  • Device Summary: per-device counts (total, requested, and available) when consumable devices are present on the node.
  • Running Jobs: each running job’s ID, name, workflow ID, requested cores and memory, requested devices, and start time. Click a Job ID to jump to that job within its workflow.

Get detailed information about a specific node by providing its node ID:

$ fuzzball node get <node-id>

Example:

$ fuzzball node get node-worker-01
ID:        node-worker-01
Hostname:  worker-01.local
CPU:       cpu/x86_64
Cluster:   my-cluster

Resources:
  Cores:     8 total (3 allocated, 5 available)
  Memory:    16.0 GB total (5.0 GB allocated, 11.0 GB available)
  Devices:
    gpu/nvidia:     2 total (1 requested, 1 available)

Running Jobs: (2)
  JOB ID                               | JOB NAME        | REQUESTED CORES | REQUESTED MEMORY (GB) | REQUESTED DEVICES | STARTED AT
  fab5985c-3157-5e6c-b60b-f2fd8e17fefd   data-processing   2                 4.0                     gpu/nvidia:1        2025-09-30 10:15:23
  e3211b77-117a-54ce-a2d9-420b4c673416   Hidden Job        1                 1.0                     None                N/A

The output includes:

Basic Information

  • ID: Node identifier
  • Hostname: Network hostname
  • CPU: CPU model name or architecture
  • Cluster: Resolved name of the Fuzzball cluster this node belongs to, or the raw cluster_id if the name cannot be resolved. Only shown when cluster_id is present — most visible when connected to a Federate cluster where nodes span multiple underlying Orchestrate clusters.

Resource Summary

Cores and Memory

  • Total: Capacity of the node
  • Allocated: Currently in use by running jobs
  • Available: Free capacity for new jobs

Devices

Consumable resources are tracked per device type:

  • Total Count: Number of devices installed on the node
  • Requested Count: Devices currently requested by jobs
  • Available Count: Devices remaining that are not requested by jobs

Running Jobs

For each job that is currently running on the node:

  • JOB ID: Unique identifier for the job
  • JOB NAME: Job name from the workflow definition
  • REQUESTED CORES: CPU cores requested by the job
  • REQUESTED MEMORY (GB): Memory requested by the job
  • DEVICES: Consumable devices requested by the job
  • STARTED AT: Timestamp of when the job started

Jobs shown are workflow stages currently executing on this node. If you don’t have permission to view the corresponding workflow, the job will appear as “Hidden Job” with only the job ID visible.

JSON Output

For programmatic access, use the --json flag:

$ fuzzball node get node-worker-01 --json

This returns complete node information in JSON format:

{
  "id": "node-worker-01",
  "host_name": "worker-01.local",
  "cpu": "cpu/x86_64",
  "cluster_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "memory_gb": 16.0,
  "resource_summary": {
    "total_cores": 8,
    "allocated_cores": 3,
    "available_cores": 5,
    "total_memory_gb": 16.0,
    "allocated_memory_gb": 5.0,
    "available_memory_gb": 11.0,
    "device_summaries": [
      {
        "device_type": "gpu/nvidia",
        "total_count": 2,
        "requested_count": 1,
        "available_count": 1
      }
    ]
  },
  "resource": {
    "total": {
      "cpu": {
        "cores": 8,
        "sockets": 1
      },
      "mem": {
        "bytes": 17179869184
      },
      "devices": {
        "cpu/x86_64": 1,
        "gpu/nvidia": 2
      }
    },
    "free": {
      "cpu": {
        "cores": 5,
        "sockets": 1
      },
      "mem": {
        "bytes": 11811160064
      },
      "devices": {
        "cpu/x86_64": 1,
        "gpu/nvidia": 1
      }
    },
    "annotations": {
      "fuzzball.io/provisioner_backend": "kubernetes",
      "fuzzball.io/provisioner_definition_id": "worker-nodes"
    },
    "node": {
      "free_cores": 5,
      "memory_total_bytes": 17179869184,
      "memory_free_bytes": 11811160064,
      "memory_bytes_by_core": 2147483648,
      "threads": true,
      "sockets": [
        {
          "cores": [0, 1, 2, 3, 4, 5, 6, 7],
          "free_cores": 5,
          "numa_nodes": [0]
        }
      ],
      "numa_nodes": [],
      "cores": []
    },
    "plugin_devices": {
      "list": {
        "gpu/nvidia": {
          "devices": [
            {"id": "GPU-abc123", "numa_node": 0, "consumable": true, "allocated": true},
            {"id": "GPU-def456", "numa_node": 0, "consumable": true, "allocated": false}
          ]
        }
      }
    }
  },
  "running_jobs": [
    {
      "job_id": "fab5985c-3157-5e6c-b60b-f2fd8e17fefd",
      "job_name": "data-processing",
      "workflow_id": "28c82150-309b-5325-a305-32be6bff71d1",
      "requested_cores": 2,
      "requested_memory_gb": 4.0,
      "requested_device_details": [
        {
          "device_type": "gpu/nvidia",
          "count": 1
        }
      ],
      "started_timestamp": 1727692523
    },
    {
      "job_id": "e3211b77-117a-54ce-a2d9-420b4c673416",
      "job_name": "Hidden Job",
      "workflow_id": "a344f889-3fc2-5479-847d-12da70d52ac8",
      "requested_cores": 1,
      "requested_memory_gb": 1.0,
      "requested_device_details": []
    }
  ]
}

The resource field contains low-level substrate resource details. The example above is abridged; fields such as total.cpu.affinity, total.mem.by_core, and total.exclusive are omitted for clarity. Its sub-fields are:

  • total / free: Exact CPU core counts, memory in bytes, and device counts broken down by total capacity and currently free capacity. Useful for precise capacity calculations in scripts.
  • node: Detailed hardware topology — per-core information, NUMA nodes, hardware thread support, and exact memory figures. sockets is an array of socket objects (each listing its core IDs, free core count, and NUMA node indices). The cores and numa_nodes arrays are shown as empty in this example; in practice they contain one entry per physical core and NUMA node respectively.
  • annotations: Key-value metadata attached to the node, such as provisioner backend and definition identifiers.
  • plugin_devices: Per-device details reported by device plugins, including device IDs, NUMA affinity (numa_node), whether the device is consumable, and current allocation status.