)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"49fffce00662766ca14387cedbf6df1ad7105e75","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"47da74a2_b59a7d8d","updated":"2026-02-04 15:19:33.000000000","message":"i need to add some unit test coverage to this as well","commit_id":"acc3346e3b1529f3910a44e54d0da0b7ec2eabd4"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"f51ed8f7aa850f7be877267936d50b71437717d7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6931cc6c_5a6921f3","updated":"2026-02-02 09:11:06.000000000","message":"new tests should be added to:\n1. Test `LSPCI_PATTERN` regex with various lspci output formats\n2. Test `_discover_pcis()` with mocked `get_pci_devices()` output\n3. Test edge cases (malformed lspci output, missing vendor in VENDOR_MAPS)","commit_id":"acc3346e3b1529f3910a44e54d0da0b7ec2eabd4"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"78dd70b5ab9c91f86aa6e705fb9d88c399da28df","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f3fc013e_b69b0261","in_reply_to":"6931cc6c_5a6921f3","updated":"2026-02-03 15:51:29.000000000","message":"+1, was going to comment the same, particularly about the regex, which looks correct to me, but it\u0027s complex enough that I don\u0027t trust my eyes that much","commit_id":"acc3346e3b1529f3910a44e54d0da0b7ec2eabd4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de67acdf113ffd7b7f3186e470cf0cd7b372dddf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5c200603_7f57112d","updated":"2026-02-16 14:45:42.000000000","message":"ill likely have 1 more revision to stablise the tests ill work on that today.","commit_id":"ab467421292639b672bdea8bfc769d3497c83176"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"403c877040c0d64e1484211e978a0e3d511edcd8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"adce933b_38fb30d2","updated":"2026-02-16 10:11:13.000000000","message":"lgtm, I hit the same issue in my env and applying this patch addresses the issue, tested in my devstack env with https://github.com/snu-csl/nvmevirt\nFrom /etc/cyborg/cyborg.conf\n```\n[agent]\nenabled_drivers \u003d pci_driver\n\n[pci]\npassthrough_whitelist \u003d {\"vendor_id\":\"0c51\",\"product_id\":\"0110\"}\n```\nand\n```\n(venv) stack@cyborg-devstack:/opt/stack/cyborg$ lspci -nn -D | grep -i \u0027Non-Volatile\u0027\n0001:10:00.0 Non-Volatile memory controller [0108]: Device [0c51:0110] (rev 01)\n(venv) stack@cyborg-devstack:/opt/stack/cyborg$ openstack accelerator device list \n+--------------------------------------+------+--------+-----------------+--------------------------------------------+\n| uuid                                 | type | vendor | hostname        | std_board_info                             |\n+--------------------------------------+------+--------+-----------------+--------------------------------------------+\n| 013bd98a-6fdb-48c4-9632-d2bdbe3ccde7 | GPU  | 0c51   | cyborg-devstack | {\"product_id\": \"0110\", \"controller\": null} |\n+--------------------------------------+------+--------+-----------------+--------------------------------------------+\n(venv) stack@cyborg-devstack:/opt/stack/cyborg$ nvme list\nNode                  Generic               SN                   Model                                    Namespace  Usage                      Format           FW Rev  \n--------------------- --------------------- -------------------- ---------------------------------------- ---------- -------------------------- ---------------- --------\n/dev/nvme0n1          /dev/ng0n1            CSL_Virt_SN_01       CSL_Virt_MN_01                           0x1        535.82  MB / 535.82  MB    512   B +  0 B   CSL_002 \n(venv) stack@cyborg-devstack:/opt/stack/cyborg$ \n```","commit_id":"ab467421292639b672bdea8bfc769d3497c83176"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"0665fdaf319ebc0ddb61e599afeb67fcad33babd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0b80d825_89eb7926","updated":"2026-02-13 14:36:28.000000000","message":"lgtm, thanks","commit_id":"ab467421292639b672bdea8bfc769d3497c83176"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"28291c5dbca8122d977fe885dde46835e852753b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8cc94bda_d5739df8","updated":"2026-02-16 15:08:54.000000000","message":"this should not pass we will dicuss it in the irc meeting tomorrow and assuming there is no negitive feedback proceed on wednesday","commit_id":"22f3c0c9788021b8202c3002ce2a705e342b6af1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"51e70ea4188e27949ae58f7a1fef8fc86f5220a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"f7ce07b8_22e915bb","updated":"2026-02-19 19:31:54.000000000","message":"recheck ? its not in gate but should be","commit_id":"612c4e29e971cd8a9e5030b717d71c84f9c3a224"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"69e8c218d183452b5bc5da1cf60576d40e230f7b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c67fb5ad_1147d4e5","updated":"2026-02-19 19:31:05.000000000","message":"this should be in check but im not seing it...","commit_id":"612c4e29e971cd8a9e5030b717d71c84f9c3a224"}],"cyborg/accelerator/drivers/pci/pci/sysinfo.py":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"d3fff709c97d32ce9877de2313dc27c494352029","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    Example PGPU traits:"},{"line_number":52,"context_line":"    {traits:[\"OWNER_CYBORG\", \"CUSTOM_PCI_1EB8\"]}"},{"line_number":53,"context_line":"    \"\"\""},{"line_number":54,"context_line":"    vendor_name \u003d pci_utils.VENDOR_MAPS.get(vendor_id).upper()"},{"line_number":55,"context_line":"    traits \u003d [\"CUSTOM_PCI_\" + vendor_name]"},{"line_number":56,"context_line":"    # PCIE trait"},{"line_number":57,"context_line":"    product_trait \u003d \"_\".join((\u0027CUSTOM_PCI_PRODUCT_ID\u0027, product_id.upper()))"}],"source_content_type":"text/x-python","patch_set":2,"id":"504656f9_7d7081f2","line":54,"updated":"2026-02-02 09:12:43.000000000","message":"If `vendor_id` is not in `VENDOR_MAPS`, this will raise `AttributeError` (calling `.upper()` on `None`). This is a pre-existing issue, not introduced by this fix, but could be addressed while here:\nvendor_name \u003d pci_utils.VENDOR_MAPS.get(vendor_id, \"unknown\").upper()","commit_id":"acc3346e3b1529f3910a44e54d0da0b7ec2eabd4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cac8bcae12ca11a1924f36bd4499fc3f1713b271","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    Example PGPU traits:"},{"line_number":52,"context_line":"    {traits:[\"OWNER_CYBORG\", \"CUSTOM_PCI_1EB8\"]}"},{"line_number":53,"context_line":"    \"\"\""},{"line_number":54,"context_line":"    vendor_name \u003d pci_utils.VENDOR_MAPS.get(vendor_id).upper()"},{"line_number":55,"context_line":"    traits \u003d [\"CUSTOM_PCI_\" + vendor_name]"},{"line_number":56,"context_line":"    # PCIE trait"},{"line_number":57,"context_line":"    product_trait \u003d \"_\".join((\u0027CUSTOM_PCI_PRODUCT_ID\u0027, product_id.upper()))"}],"source_content_type":"text/x-python","patch_set":2,"id":"f78facd1_f578f038","line":54,"in_reply_to":"504656f9_7d7081f2","updated":"2026-02-04 15:19:10.000000000","message":"oh good catch your right.\nhonestly i think ill remove the call to upper here and \ndefer it to the concatination below.\n\nos-trait actully provides a normalistaion function for this as well that i could use instead.\n\nhttps://github.com/openstack/os-traits/blob/master/os_traits/__init__.py#L140-L156\n\nalthough i need to check fi that in our requiremetn list before using it.\n\nit should be but i have not looked\n\nlong term we should be encoding the vendor and product id in the resouce class not as traits.\nthat reuqired to properly do quota with unified limits which cybrog does not really do today.\nthat is definly out of scope of this inital fix\n\nthat woudl be part of aligning cyborgs represetaion with nova https://specs.openstack.org/openstack/nova-specs/specs/zed/approved/pci-device-tracking-in-placement.html\nbut that need some wider dicussion before we proceed in that direction.","commit_id":"acc3346e3b1529f3910a44e54d0da0b7ec2eabd4"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"8cb7655efcb8a13830a7ed0762b9df0489cb7781","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    Example PGPU traits:"},{"line_number":52,"context_line":"    {traits:[\"OWNER_CYBORG\", \"CUSTOM_PCI_1EB8\"]}"},{"line_number":53,"context_line":"    \"\"\""},{"line_number":54,"context_line":"    vendor_name \u003d pci_utils.VENDOR_MAPS.get(vendor_id).upper()"},{"line_number":55,"context_line":"    traits \u003d [\"CUSTOM_PCI_\" + vendor_name]"},{"line_number":56,"context_line":"    # PCIE trait"},{"line_number":57,"context_line":"    product_trait \u003d \"_\".join((\u0027CUSTOM_PCI_PRODUCT_ID\u0027, product_id.upper()))"}],"source_content_type":"text/x-python","patch_set":2,"id":"03c6a95c_7d548fdc","line":54,"in_reply_to":"f78facd1_f578f038","updated":"2026-02-13 09:16:12.000000000","message":"lgtm","commit_id":"acc3346e3b1529f3910a44e54d0da0b7ec2eabd4"}]}
