Sean Mooney c3210cac9d Fix PCI driver lspci output parsing
The PCI driver's _discover_pcis() function had several bugs that
caused TypeError when discovering PCI devices:

1. get_pci_devices() returns a (stdout, stderr) tuple from
   processutils.execute(), but the code iterated over the tuple
   instead of the stdout lines

2. Raw lspci output strings were passed to device_assignable()
   which expects dictionaries with vendor_id, product_id, etc.

3. The code expected device_assignable() to return a regex match
   object with groupdict(), but it returns a boolean

This fix:
- Properly unpacks the (stdout, stderr) tuple
- Parses each lspci output line using a regex to extract the PCI
  address, vendor_id, and product_id
- Builds a proper device dictionary for whitelist matching
- Adds common vendor IDs to VENDOR_MAPS (intel, inspur, xilinx,
  huawei) for trait generation

Closes-Bug: #2139368
Generated-By: Cursor claude opus 4.5
Change-Id: I6bdaf7eb4b6b0ba4c891b968f847dcd951ff4336
Signed-off-by: Sean Mooney <[email protected]>
2026-02-19 19:46:43 +00:00
2025-08-18 21:28:27 -04:00
2017-08-30 09:27:56 -04:00
2021-02-23 17:07:15 +08:00
2019-04-19 19:39:22 +00:00
2023-06-01 02:07:14 +00:00
2025-05-14 17:01:33 +01:00
2023-05-17 15:51:50 +08:00
2026-02-05 17:14:38 +00:00
2026-02-18 21:04:01 +00:00
2020-04-05 09:39:28 +08:00
2026-02-19 18:06:59 +00:00
2026-02-19 18:06:59 +00:00

Cyborg

image

OpenStack Acceleration as a Service

Cyborg provides a general management framework for accelerators such as FPGA, GPU, SoCs, NVMe SSDs, CCIX caches, DPDK/SPDK, pmem and so forth.

Features

  • REST API for basic accelerator life cycle management
  • Generic driver for common accelerator support
Description
Acceleration Management
Readme 16 MiB
Languages
Python 98.7%
Shell 1.2%