InfiniBand Network Primitives#

Note

The InfiniBand API endpoints are only supported for multi-tenant cluster environments and require multi-tenant support. Contact Penguin Computing to learn more.

ICE ClusterWare ™ ibnets primitives represent the InfiniBand network within the cluster.

Data Fields#

InfiniBand network primitives can have several fields:

name
      Required: Name of the InfiniBand network within the ClusterWare software.
                Names must start with an alphabet character, not a number.

description
      Optional: A text string with descriptive information.

host
      Required: Username and IP address or host name for the system where the
                subnet manager software, such as OpenSM, is installed.

Additional Endpoints#

In multi-tenant clusters, several endpoints are used for InfiniBand networks to apply, compare, and replace partition configuration files in the subnet manager software, such as OpenSM. For example, GET /ibnet/<UID>/current returns the configuration currently applied in the subnet manager software.

GET /ibnet/<UID>/current
    Returns the currently applied configuration contents from the subnet
    manager software.

GET /ibnet/<UID>/target
    Returns a partition configuration that can be applied to segment the
    InfiniBand network according to the tenancy-node assignments in the
    ClusterWare database.

GET /ibnet/<UID>/diff
    Compares the current and target partition configuration contents.

PUT /ibnet/<UID>/apply
    Replaces the current partition configuration with the target partition
    configuration in the subnet manager software.

Example#

Create a new InfiniBand network:

curl -X POST https://head1.cluster.local/api/v1/ibnets \
    --data '{"name":"IBNet1", "host":"root@172.18.244.55"}' \
    -H "Authorization: Bearer eyJhbGciOiJIUzI1Ni…"
{"success": true, "data": "efb111b825d342769cfff1b0852e81b1"}

Get the current partition configuration data from ClusterWare (multi-tenant clusters only):

curl -X GET https://head1.cluster.local/api/v1/ibnet/efb111b825d342769cfff1b0852e81b1/target \
    -H "Authorization: Bearer eyJhbGciOiJIUzI1Ni…" | jq
   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                              Dload  Upload   Total   Spent    Left  Speed
 100   163  100   163    0     0   6791      0 --:--:-- --:--:-- --:--:--  7086
 {"success": true,"data": {
    "efb111b825d342769cfff1b0852e81b1": "[{\"pname\": \"p2\", \"pkey\": \"0x2\", \
    \"indx0\": true, \"ipoib_bc_flags\": {\"ipoib\": true}}]"
    }
 }

Compare the target (ClusterWare) and current (subnet manager software) partition configurations (multi-tenant clusters only):

curl -X GET  https://head1.cluster.local/api/v1/ibnet/efb111b825d342769cfff1b0852e81b1/diff \
   -H "Authorization: Bearer eyJhbGciOiJIUzI1Ni…"
{"success": true,
  "data": {
    "efb111b825d342769cfff1b0852e81b1": {
      "different": false,
      "unified_diff": ""
    }
  }
}