)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"462787715930edc54243494c5b52ab76775a3546","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5e897d56_994b05fd","updated":"2026-02-04 13:33:42.000000000","message":"lgmt, this is really helpful, is there any exclusion criteria for the spdk driver as @bdobreli@redhat.com pointed out?","commit_id":"df8a6a8915b0f97d299e92030c323b7600ed2b93"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bdd5688fbf80f7d33a619017cd26fd93a172cdd4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a86e558a_c7e2f6a8","in_reply_to":"5e897d56_994b05fd","updated":"2026-02-04 14:01:41.000000000","message":"there was no in tree docs that ai could find for it but i can likely generate some form the spec and the code. from my perspective teh spdk driver in not complete as it cant actully be used with nova or zun as far as i can see as noted inline.","commit_id":"df8a6a8915b0f97d299e92030c323b7600ed2b93"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"d36260afc872009c4ff35b1087d866e81dd65f6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8bae04f5_870c366e","in_reply_to":"a86e558a_c7e2f6a8","updated":"2026-02-04 14:13:36.000000000","message":"thanks, I think that is enough for an exclusion criteria","commit_id":"df8a6a8915b0f97d299e92030c323b7600ed2b93"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"ac0973e4c143ba6eee85a0ccda24ae0a5b4ed66c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"64652113_4899038f","updated":"2026-02-16 10:06:57.000000000","message":"Thank you Sean for writting, It works!","commit_id":"ad54e096b18e91d6eebcda0af3ced8e805aa68fc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"381a7115c7c7e5a21361802ee6bf0635a813e21a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"19ac9689_ec32e420","updated":"2026-02-17 19:30:20.000000000","message":"proceeding with this we will need to invest more in docs but i think this is a good start","commit_id":"ad54e096b18e91d6eebcda0af3ced8e805aa68fc"}],"doc/source/configuration/drivers.rst":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"653b9540fee96203df784fd3e138da860f0a49fd","unresolved":true,"context_lines":[{"line_number":74,"context_line":"     - ``0xabcd``"},{"line_number":75,"context_line":"     - Fake driver for testing"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Driver Configuration Reference"},{"line_number":78,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"FPGA Drivers"}],"source_content_type":"text/x-rst","patch_set":3,"id":"cba72603_7732cfdd","line":77,"updated":"2026-02-02 09:24:15.000000000","message":"could you also document nvmf_spdk_driver?","commit_id":"df8a6a8915b0f97d299e92030c323b7600ed2b93"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bdd5688fbf80f7d33a619017cd26fd93a172cdd4","unresolved":true,"context_lines":[{"line_number":74,"context_line":"     - ``0xabcd``"},{"line_number":75,"context_line":"     - Fake driver for testing"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Driver Configuration Reference"},{"line_number":78,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"FPGA Drivers"}],"source_content_type":"text/x-rst","patch_set":3,"id":"d5f03da4_8b71a18b","line":77,"in_reply_to":"cba72603_7732cfdd","updated":"2026-02-04 14:01:41.000000000","message":"maybe the issue is the in genreal we dont have a lot of detils to work form but ill see what i cna do\n\nthe spdk driver is not compatible wiht nova as the required work was never done to integrate it with nova.\n\nit presumable could function with zun but i am not aware of any docs of how to use zun with cyborg \nhttps://github.com/openstack/zun/blob/master/specs/pci-device-model.rst was prospoed but i dont know fi that hever happend.\n\ni can likely derive some docs form the spec \n\nhttps://docs.openstack.org/cyborg/stein/specs/queens/approved/cyborg-spdk-driver-proposal.html#:~:text\u003dProblem%20description%C2%B6,and%20further%20improve%20storage%20performance.\n\nbut i think one of the thign we will need to create is a feature/support matics of driver and supprot levels\n\nlike this https://docs.openstack.org/watcher/latest/strategies/index.html#strategies-status-matrix\n\nto me the spdk dirver is clearly in the expermintal or partially implemnted camp as i see no way to use it without out of tree patches today.\n\n\ncidner has some spdk supprot\n\nhttps://opendev.org/openstack/cinder/src/branch/master/doc/source/configuration/block-storage/drivers/spdk-volume-driver.rst\n\nbut as far as im aware that does not use cyborg at all.\n\ninstead that cinder feature is nativly usign spdk to mange local disk and present them as an NVMe-oF targe volume https://spdk.io/doc/nvmf.html which we jsut mount as a normal NVMe-oF device on teh compute node and attach via the kernel.\n\nso while the cidner driver side may be accelrated by spdk the vm side is not.\n\ncyborg could present the device usign teh same approch i guss but it wont work today. if cyborg is manging local disk we have the ablity to use vhos-user to connect the storage to cemu without the network overhead which woudl be more efficent.","commit_id":"df8a6a8915b0f97d299e92030c323b7600ed2b93"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"ac0973e4c143ba6eee85a0ccda24ae0a5b4ed66c","unresolved":true,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"**Match by Vendor and Product ID**"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":".. code-block:: ini"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    [agent]"},{"line_number":253,"context_line":"    enabled_drivers \u003d pci_driver"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    [pci]"},{"line_number":256,"context_line":"    # Match devices with specific vendor and product IDs"},{"line_number":257,"context_line":"    passthrough_whitelist \u003d {\"vendor_id\":\"8086\", \"product_id\":\"1520\"}"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"**Match by PCI Address (Glob Style)**"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"Use glob-style patterns to match PCI addresses. The address format is"}],"source_content_type":"text/x-rst","patch_set":4,"id":"f08b77b0_0d29f698","line":258,"range":{"start_line":250,"start_character":1,"end_line":258,"end_character":1},"updated":"2026-02-16 10:06:57.000000000","message":"This one works in my devstack environment with nvmevirt (emulated nvme device). Here is the config from /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$ 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```\nNote, we also need https://review.opendev.org/c/openstack/cyborg/+/975046 to make it work.","commit_id":"ad54e096b18e91d6eebcda0af3ced8e805aa68fc"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"f8e30964e0ad229f6f527a04e4690454728d4852","unresolved":true,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"**Match by Vendor and Product ID**"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":".. code-block:: ini"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    [agent]"},{"line_number":253,"context_line":"    enabled_drivers \u003d pci_driver"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    [pci]"},{"line_number":256,"context_line":"    # Match devices with specific vendor and product IDs"},{"line_number":257,"context_line":"    passthrough_whitelist \u003d {\"vendor_id\":\"8086\", \"product_id\":\"1520\"}"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"**Match by PCI Address (Glob Style)**"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"Use glob-style patterns to match PCI addresses. The address format is"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7e504df8_fa352206","line":258,"range":{"start_line":250,"start_character":1,"end_line":258,"end_character":1},"in_reply_to":"31377f16_25e0984f","updated":"2026-02-17 14:38:07.000000000","message":"Yes, I have tested this by checking out https://review.opendev.org/c/openstack/cyborg/+/975046(which pulls all the patches with in that).","commit_id":"ad54e096b18e91d6eebcda0af3ced8e805aa68fc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f5dcf64a318639fe8574bedb71647a30c06a3035","unresolved":false,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"**Match by Vendor and Product ID**"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":".. code-block:: ini"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    [agent]"},{"line_number":253,"context_line":"    enabled_drivers \u003d pci_driver"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    [pci]"},{"line_number":256,"context_line":"    # Match devices with specific vendor and product IDs"},{"line_number":257,"context_line":"    passthrough_whitelist \u003d {\"vendor_id\":\"8086\", \"product_id\":\"1520\"}"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"**Match by PCI Address (Glob Style)**"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"Use glob-style patterns to match PCI addresses. The address format is"}],"source_content_type":"text/x-rst","patch_set":4,"id":"d2be282f_06fc07b2","line":258,"range":{"start_line":250,"start_character":1,"end_line":258,"end_character":1},"in_reply_to":"7e504df8_fa352206","updated":"2026-02-17 19:15:53.000000000","message":"Acknowledged","commit_id":"ad54e096b18e91d6eebcda0af3ced8e805aa68fc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"455eeb6f9e96383e7b92f9244e50bf5a7a1b301c","unresolved":true,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"**Match by Vendor and Product ID**"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":".. code-block:: ini"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    [agent]"},{"line_number":253,"context_line":"    enabled_drivers \u003d pci_driver"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"    [pci]"},{"line_number":256,"context_line":"    # Match devices with specific vendor and product IDs"},{"line_number":257,"context_line":"    passthrough_whitelist \u003d {\"vendor_id\":\"8086\", \"product_id\":\"1520\"}"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"**Match by PCI Address (Glob Style)**"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"Use glob-style patterns to match PCI addresses. The address format is"}],"source_content_type":"text/x-rst","patch_set":4,"id":"31377f16_25e0984f","line":258,"range":{"start_line":250,"start_character":1,"end_line":258,"end_character":1},"in_reply_to":"f08b77b0_0d29f698","updated":"2026-02-16 12:01:42.000000000","message":"yes we do.\nits my assumption that with an older form of lspci this might have worked before although i think the feature was just always broken but i thought we could land this first as a generally useful thing to have and fix the bug later.\n\nthe fact it idetifes a nvme device as  a GPU by default is somethign we should take note of \npci devices have a \"class\" atibute which at a high level claisffies them as a storage device or gpu or nic ectra we may want to look into useign that in the future if a device reports it. im not sure if we get that info form lspci in the current output but i belive its aviable in sysfs if not so something to follow up with\n\ncan i assume you tested this by checking out https://review.opendev.org/c/openstack/cyborg/+/975046 and tasitivly tested all the patches beneth it as a result.","commit_id":"ad54e096b18e91d6eebcda0af3ced8e805aa68fc"}]}
