Skip to content

Reduce machine inventory size by filtering irrelevant network interfaces #2936

Description

@williampnvidia

Machine inventory currently persists many network interfaces that are not needed for tenant-facing workflows or controller operations. On systems with DPUs, discovery may report many internal or auxiliary interfaces, such as DPU SFs, BMC-facing interfaces, virtual functions, or other interfaces that are not directly useful to the host inventory model.

For scale, we should reduce the amount of network interface data transmitted and persisted by filtering out interfaces that are not relevant. The inventory should retain the interfaces needed to understand that the machine has a DPU and the physical functions exposed to the host, but avoid storing large sets of internal DPU or auxiliary interfaces.

This should reduce machine inventory payload size, database storage, and downstream processing cost for large deployments.

Potential implementation direction:

  • Add filtering during discovery so irrelevant network interfaces are not persisted.
  • Keep network interfaces required for tenant-facing host networking and controller operations.
  • Filter DPU SFs, internal DPU interfaces, BMC interfaces, and other auxiliary interfaces that are not needed in machine inventory.
  • Reuse or mirror the existing filtering approach used for InfiniBand interfaces where applicable.
  • Consider a migration or cleanup path for existing machines that already have oversized network interface inventory.

Acceptance criteria:

  • Machine inventory no longer persists irrelevant network interfaces discovered from DPU-heavy systems.
  • Required host-facing DPU/PF information remains available.
  • Filtering behavior is covered by tests for representative interface names and PCI properties.
  • Existing machines have a documented cleanup or migration plan.
  • Inventory payload size is measurably reduced for machines with many discovered network interfaces.

Related to #1864

Metadata

Metadata

Labels

Type

No type
No fields configured for issues without a type.

Projects

Status
Triage

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions