Support NIC Component Details in Metal API
under review
E
Eric Rosa
There is no way for a customer to use the API to be able to identify what NICs are on what hardware. It would be awesome to be able to give our customers/partners the ability to identify the specific NIC hardware via an API command.
Currently the work around some customers are using is to deploy a server and run a lspci on the network via linux for every machine they want to identify the NIC for.
Zachary Smith
M
Miles Thomas
under review
Ed Warnicke
This is good :) It would be better to be able to
request
a flavor with a specific NIC combination...Marques Johansson
Because the MAC addresses are made available (network_ports[*].data.mac) in the hardware reservation and device instance API lists, it is possible to get the MAC address of deployed infrastructure. This can be used to determine the vendor of the NIC. https://www.wireshark.org/tools/oui-lookup.html
Marques Johansson
I see two approaches that could fit within the current API layout.
The ports on existing hardware could be more discoverable and detailed in the API.
GET /metal/v1/ports?search=<mac> and/or GET /metal/v1/ports?<field>=<value>
- This asserts that the NetworkPort object would add product/model/feature level details specific to the hardware.
- This also asserts that GET /metal/v1/ports becomes a way to list all ports across all devices, supporting filtering and pagination.
Another endpoint that could provide this or a similar capability is the /metal/v1/plans endpoint. If plans were to include the minimal NIC details users could filter plans to those with hardware that meets their requirements. This information provided at https://metal.equinix.com/product/servers/m3-large/ includes "2x25Gbps" NIC details. The /plans API includes this detail within a specs.nics[0] field. What other information could be accurately provided about the NIC specs in the plan list? Should this be a filterable property of the plan list?