Tray

Validate Tray components by comparing expected vs actual state.

If no filter is specified, validates all trays in the Site. Use rackId/rackName to scope to a specific rack, and name/manufacturer/type to filter by tray attributes.

Compares the expected component configuration against the actual state. Returns a detailed diff report showing missing, extra, and mismatched components.

Org must have an Infrastructure Provider entity. User must have authorization role with PROVIDER_ADMIN suffix.

get/v2/org/{org}/nico/tray/validation

Request

  • Base URL
    https://nico-rest-api.nico.svc.cluster.local
  • URL
    https://nico-rest-api.nico.svc.cluster.local/v2/org/{org}/nico/tray/validation
  • Auth
    HTTP bearer

Query parameters

siteIdstring uuid required

ID of the Site

rackIdstring

Scope to a specific Rack by Rack ID (mutually exclusive with rackName)

rackNamestring

Scope to a specific Rack by name (mutually exclusive with rackId)

namestring

Filter trays by name

manufacturerstring

Filter trays by manufacturer

type'Compute' | 'NVSwitch' | 'PowerShelf'

Filter trays by type. When id is specified, the type disambiguates component IDs shared by different component types.

idstring

Filter by component ID (mutually exclusive with rackId/rackName; use repeated params for multiple values)

slotIdinteger

Restrict validation to trays at this rack slot (matches position.slotId). Requires rackId or rackName. Composes with the rest of the filter via AND.

Response

OK

totalDiffsinteger

Total number of component differences found

missingCountinteger

Number of components expected but missing from the source system

unexpectedCountinteger

Number of components found in the source system but not expected

mismatchCountinteger

Number of components present in both but with field differences

matchCountinteger

Number of components that match between expected and actual

Example response

{
  "diffs": [
    {
      "expected": {
        "health": {
          "source": "aggregate-host-health",
          "observedAt": null,
          "successes": [
            {
              "id": "FanSpeed",
              "target": "System Board Fan1A"
            },
            {
              "id": "PowerSupply",
              "target": "PS1 Status"
            }
          ],
          "alerts": [
            {
              "id": "FailedValidationTest",
              "target": "DcgmFullShort",
              "inAlertSince": null,
              "message": "Failed validation test",
              "tenantMessage": null,
              "classifications": [
                "PreventAllocations"
              ]
            }
          ]
        }
      },
      "actual": {
        "health": {
          "source": "aggregate-host-health",
          "observedAt": null,
          "successes": [
            {
              "id": "FanSpeed",
              "target": "System Board Fan1A"
            },
            {
              "id": "PowerSupply",
              "target": "PS1 Status"
            }
          ],
          "alerts": [
            {
              "id": "FailedValidationTest",
              "target": "DcgmFullShort",
              "inAlertSince": null,
              "message": "Failed validation test",
              "tenantMessage": null,
              "classifications": [
                "PreventAllocations"
              ]
            }
          ]
        }
      }
    }
  ]
}

Changes

    • info

      removed the nico enum value from the response property for the response status

    • info

      removed the nico enum value from the response property for the response status

    • info

      removed the nico enum value from the response property for the response status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status