NVIDIA UFM-SDN Appliance User Manual v4.17.0
NVIDIA UFM-SDN Appliance User Manual v4.17.0

Fast-API Plugin

The Fast-API plugin is a new component that runs in parallel to the UFM model and provides a more scalable and efficient way to manage the inventory and topology of the fabric. It uses a Redis database to store the data it receives from the SM client consumer and the ibdiagnet collector. It also exposes REST APIs for querying the ports, systems, links, switches, and sharp reservations. The Fast-API plugin also supports persistent inventory, which means it keeps track of all the devices, ports, and links the UFM ever encountered, even if they are disabled or removed. The Fast-API plugin is designed to be backward compatible with the UFM model, except for some minor differences in the API parameters and the handling of generic node names.

  • As a first step, get the Fast API image:

    Copy
    Copied!
                

    docker pull mellanox/ufm-plugin-fast_api

  • Load the downloaded image onto the UFM server. This can be done either by using the UFM GUI by navigating to the Settings -> Plugins Management tab or by loading the image via the following instructions:

    1. Log in to the UFM server terminal.

    2. Run:

      Copy
      Copied!
                  

      docker load -I <path_to_image>

  • After successfully loading the plugin image, the plugin should become visible in the plugin management table within the UFM GUI. To initiate the plugin’s execution, simply right-click on the respective in the table.

The following APIs are supported:

Ports API - Retrieve all the ports in the cluster or filter by the system name. The following attributes are retrieved:

  • GET https:///ufmRestV2/plugin/fast_api/resources/ports

  • GET /resources/ports/ - deviceID referred as sys_guid for switches and hostname for hosts

    • name: The name of the port.

    • lid: The local ID of the port.

    • logical_state: The logical state of the port.

    • physical_state: The physical state of the port.

    • number: The number of the port.

    • decimal_guid: The decimal GUID of the port.

    • mtu: The maximum transmission unit of the port.

    • active_speed: The active speed of the port.

    • active_width: The active width of the port.

    • peer_address: The peer address of the port.

    • peer_port: The peer port of the port.

    • tier: The tier of the port.

    • label: The label of the port.

This API retrieves all the ports in the cluster, including cable information. The following attributes are supported for cable information:

  • GET https:///ufmRestV2/plugin/fast_api/resources/ports/?cable_info=true

    • part_number: The part number of the cable.

    • serial_number: The serial number of the cable.

    • revision: The revision of the cable.

    • identifier: The identifier of the cable.

    • length: The length of the cable.

    • technology: The technology of the cable.

    • fw_version: The firmware version of the cable.

Links API - Retrieve all the links in the cluster. The following attributes are retrieved:

  • GET https:///ufmRestV2/plugin/fast_api/resources/links

    • source_guid: The GUID of the source port.

    • source_port: The source port.

    • destination_guid: The GUID of the destination port.

    • destination_port: The destination port.

    • source_port_dname: The display name of the source port.

    • source_port_name: The name of the source port.

    • destination_port_dname: The display name of the destination port.

    • destination_port_name: The name of the destination port.

    • width: The width of the link.

    • severity: The severity of the link.

    • source_port_node_description: The description of the node connected to the source port.

    • destination_port_node_description: The description of the node connected to the destination port.

    • name: The name of the link.

    • active: The status of the link.

This API retrieves information about the systems in the cluster. It can retrieve all the systems or filter by the system name. The following attributes are retrieved:

  • GET https:///ufmRestV2/plugin/fast_api/resources/systems

  • GET https:///ufmRestV2/plugin/fast_api/resources/systems/<system_name>

  • GET https:///ufmRestV2/plugin/fast_api/resources/switches

    • name: The display name of the system.

    • system_name: The name of the system.

    • guid: The GUID of the system.

    • sys_guid: The system GUID.

    • ports: A list of ports associated with the system.

    • hostname: The hostname of the system.

    • vendor: The vendor of the system.

    • temperature: The temperature of the system.

    • fw_version: The firmware version of the system.

    • technology: The technology used by the system.

    • level: The level of the system.

    • uptime: The uptime of the system.

    • sw_version: The software version of the system.

    • system_type: The type of the system.

    • description: The description of the system.

    • psid: The PSID of the system.

    • active: The status of the system.

    • state: The state of the system.

    • is_managed: Indicates whether the system is managed.

© Copyright 2024, NVIDIA. Last updated on Aug 15, 2024.