)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a929412979ec501d8a7083f0784789cdc9d81c8d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"c798a9c8_88947dd6","updated":"2026-08-04 18:01:44.000000000","message":"there is one part related to the config that gives me pause\nboth otherwise i think this looks ok.\n\ni wonder if we shoudl also add vendor id/product_id here for the mdev parent as well to have partiy with the pci driver or if that is best defered until later.","commit_id":"21eb2780a0272fe0822e9f10bbf6c852ccab3d66"}],"cyborg/conf/devices.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"57a99bb45ef4b49a0e9a67d276c5aec003d463ef","unresolved":true,"context_lines":[{"line_number":105,"context_line":")"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"mdev_opts \u003d ["},{"line_number":108,"context_line":"    cfg.MultiStrOpt("},{"line_number":109,"context_line":"        \u0027device_spec\u0027,"},{"line_number":110,"context_line":"        default\u003d[],"},{"line_number":111,"context_line":"        help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"c15d2029_ef413745","line":108,"range":{"start_line":108,"start_character":4,"end_line":108,"end_character":20},"updated":"2026-07-29 20:42:10.000000000","message":"so this is concented with our other drviers\n\nbut it also has the same downside that mote tools dont supprot MultiOpt values\n\nthis is proably fine for now but i think we are going to want to recondire this later and supprot json array syntax as well later","commit_id":"b4801bcfbf51ad05f477c134c2b540663ddbe92e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"57a99bb45ef4b49a0e9a67d276c5aec003d463ef","unresolved":true,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"An example configuration::"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    [mdev]"},{"line_number":135,"context_line":"    device_spec \u003d {\"address\": \"0000:06:00.0\", \"mdev_type\": \"nvidia-319\"}"},{"line_number":136,"context_line":"    device_spec \u003d {\"address\": \"*\", \"mdev_type\": \"*\", \"max_instances\": 8}"},{"line_number":137,"context_line":"\"\"\","},{"line_number":138,"context_line":"    ),"},{"line_number":139,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":9,"id":"6b323763_ac45e7db","line":136,"range":{"start_line":134,"start_character":0,"end_line":136,"end_character":72},"updated":"2026-07-29 20:42:10.000000000","message":"i.e. in aray syntax\n\n```\n    [mdev]\n    device_spec \u003d \u0027[{\"address\": \"0000:06:00.0\", \"mdev_type\": \"nvidia-319\"},\u0027 \\\n                  \u0027 {\"address\": \"*\", \"mdev_type\": \"*\", \"max_instances\": 8}]\u0027\n```\n\n\nif we deciedn to supprot hta twe will proably want to do it for al the driver at once\n\nnova supprot that but cybrog does not today\n\nhttps://docs.openstack.org/nova/latest/configuration/config.html#pci.device_spec","commit_id":"b4801bcfbf51ad05f477c134c2b540663ddbe92e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a929412979ec501d8a7083f0784789cdc9d81c8d","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"An example configuration::"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    [mdev]"},{"line_number":135,"context_line":"    device_spec \u003d {\"address\": \"0000:06:00.0\", \"mdev_type\": \"nvidia-319\"}"},{"line_number":136,"context_line":"    device_spec \u003d {\"address\": \"*\", \"mdev_type\": \"*\", \"max_instances\": 8}"},{"line_number":137,"context_line":"\"\"\","},{"line_number":138,"context_line":"    ),"},{"line_number":139,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":9,"id":"00161713_01f3138a","line":136,"range":{"start_line":134,"start_character":0,"end_line":136,"end_character":72},"in_reply_to":"24b70d58_9b2f1837","updated":"2026-08-04 18:01:44.000000000","message":"Acknowledged","commit_id":"b4801bcfbf51ad05f477c134c2b540663ddbe92e"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"a21d23866a0f1007c05a75ecc12c371f6ecd9ea4","unresolved":true,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"An example configuration::"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    [mdev]"},{"line_number":135,"context_line":"    device_spec \u003d {\"address\": \"0000:06:00.0\", \"mdev_type\": \"nvidia-319\"}"},{"line_number":136,"context_line":"    device_spec \u003d {\"address\": \"*\", \"mdev_type\": \"*\", \"max_instances\": 8}"},{"line_number":137,"context_line":"\"\"\","},{"line_number":138,"context_line":"    ),"},{"line_number":139,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":9,"id":"24b70d58_9b2f1837","line":136,"range":{"start_line":134,"start_character":0,"end_line":136,"end_character":72},"in_reply_to":"6b323763_ac45e7db","updated":"2026-07-30 10:20:06.000000000","message":"I agree it would be better to change it for all driver at once, since the parsing can be reused","commit_id":"b4801bcfbf51ad05f477c134c2b540663ddbe92e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"57a99bb45ef4b49a0e9a67d276c5aec003d463ef","unresolved":true,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"def register_opts(conf):"},{"line_number":143,"context_line":"    conf.register_group(nic_group)"},{"line_number":144,"context_line":"    conf.register_opts(nic_opts, group\u003dnic_group)"},{"line_number":145,"context_line":"    conf.register_group(gpu_group)"},{"line_number":146,"context_line":"    conf.register_opts(vgpu_opts, group\u003dgpu_group)"},{"line_number":147,"context_line":"    conf.register_group(pci_group)"},{"line_number":148,"context_line":"    conf.register_opts(pci_opts, group\u003dpci_group)"},{"line_number":149,"context_line":"    conf.register_group(mdev_group)"},{"line_number":150,"context_line":"    conf.register_opts(mdev_opts, group\u003dmdev_group)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"def register_dynamic_opts(conf):"}],"source_content_type":"text/x-python","patch_set":9,"id":"69e5cc9e_f23fd42b","line":150,"range":{"start_line":143,"start_character":1,"end_line":150,"end_character":51},"updated":"2026-07-29 20:42:10.000000000","message":"long term i think i wnat to reorgansie this to one file per driver but that out of scoep for now but maybe wew shoudl start that way for the mdev driver rather then continuting to extend this file.","commit_id":"b4801bcfbf51ad05f477c134c2b540663ddbe92e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a929412979ec501d8a7083f0784789cdc9d81c8d","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"def register_opts(conf):"},{"line_number":143,"context_line":"    conf.register_group(nic_group)"},{"line_number":144,"context_line":"    conf.register_opts(nic_opts, group\u003dnic_group)"},{"line_number":145,"context_line":"    conf.register_group(gpu_group)"},{"line_number":146,"context_line":"    conf.register_opts(vgpu_opts, group\u003dgpu_group)"},{"line_number":147,"context_line":"    conf.register_group(pci_group)"},{"line_number":148,"context_line":"    conf.register_opts(pci_opts, group\u003dpci_group)"},{"line_number":149,"context_line":"    conf.register_group(mdev_group)"},{"line_number":150,"context_line":"    conf.register_opts(mdev_opts, group\u003dmdev_group)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"def register_dynamic_opts(conf):"}],"source_content_type":"text/x-python","patch_set":9,"id":"be9ab6f1_bf15472a","line":150,"range":{"start_line":143,"start_character":1,"end_line":150,"end_character":51},"in_reply_to":"403e59a0_6d1042cb","updated":"2026-08-04 18:01:44.000000000","message":"Acknowledged","commit_id":"b4801bcfbf51ad05f477c134c2b540663ddbe92e"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"a21d23866a0f1007c05a75ecc12c371f6ecd9ea4","unresolved":true,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"def register_opts(conf):"},{"line_number":143,"context_line":"    conf.register_group(nic_group)"},{"line_number":144,"context_line":"    conf.register_opts(nic_opts, group\u003dnic_group)"},{"line_number":145,"context_line":"    conf.register_group(gpu_group)"},{"line_number":146,"context_line":"    conf.register_opts(vgpu_opts, group\u003dgpu_group)"},{"line_number":147,"context_line":"    conf.register_group(pci_group)"},{"line_number":148,"context_line":"    conf.register_opts(pci_opts, group\u003dpci_group)"},{"line_number":149,"context_line":"    conf.register_group(mdev_group)"},{"line_number":150,"context_line":"    conf.register_opts(mdev_opts, group\u003dmdev_group)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"def register_dynamic_opts(conf):"}],"source_content_type":"text/x-python","patch_set":9,"id":"403e59a0_6d1042cb","line":150,"range":{"start_line":143,"start_character":1,"end_line":150,"end_character":51},"in_reply_to":"69e5cc9e_f23fd42b","updated":"2026-07-30 10:20:06.000000000","message":"make sense, I\u0027ll move them to their own file","commit_id":"b4801bcfbf51ad05f477c134c2b540663ddbe92e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a929412979ec501d8a7083f0784789cdc9d81c8d","unresolved":true,"context_lines":[{"line_number":139,"context_line":"def list_opts():"},{"line_number":140,"context_line":"    return {"},{"line_number":141,"context_line":"        nic_group: nic_opts,"},{"line_number":142,"context_line":"        gpu_group: vgpu_opts,"},{"line_number":143,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":13,"id":"f446944f_7a4f7070","line":142,"range":{"start_line":142,"start_character":28,"end_line":142,"end_character":29},"updated":"2026-08-04 18:01:44.000000000","message":"nit: unrelated. the addtion of the comma cause the reflow in ruff","commit_id":"21eb2780a0272fe0822e9f10bbf6c852ccab3d66"}],"cyborg/conf/mdev.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a929412979ec501d8a7083f0784789cdc9d81c8d","unresolved":true,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    [mdev]"},{"line_number":54,"context_line":"    device_spec \u003d {\"address\": \"0000:06:00.0\", \"mdev_type\": \"nvidia-319\"}"},{"line_number":55,"context_line":"    device_spec \u003d {\"address\": \"*\", \"mdev_type\": \"*\", \"max_instances\": 8}"},{"line_number":56,"context_line":"\"\"\","},{"line_number":57,"context_line":"    ),"},{"line_number":58,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":13,"id":"6a0736fb_cc13b84c","line":55,"range":{"start_line":55,"start_character":35,"end_line":55,"end_character":52},"updated":"2026-08-04 18:01:44.000000000","message":"i need to think this true but i dont think this specific combination makes sesne\n\nim also not sure that wildcarding the mdev_type in general is a good approch.\n\nmaybe but its not sup[er clear this is what we want to commit too.\n\ni kind of feel like mdetype shoudl be requried to be a single type.\n\nthis could change but this woudl only make sense of QAT or other devices where mdevs types have independnet invetrores.\n\nin that case we i stil think we woudl want to do \n\n```\n  device_spec \u003d {\"address\": \"*\", \"mdev_type\": \"gvt-small\", \"max_instances\": 8}\n  device_spec \u003d {\"address\": \"*\", \"mdev_type\": \"qat-whatever\", \"max_instances\": 4}\n```\n\ni.e. seting the max_instnace per type but otherwise not filtering","commit_id":"21eb2780a0272fe0822e9f10bbf6c852ccab3d66"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5095d54e88ec1b9ab73a79821fd6b98c5ad72be2","unresolved":true,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    [mdev]"},{"line_number":54,"context_line":"    device_spec \u003d {\"address\": \"0000:06:00.0\", \"mdev_type\": \"nvidia-319\"}"},{"line_number":55,"context_line":"    device_spec \u003d {\"address\": \"*\", \"mdev_type\": \"*\", \"max_instances\": 8}"},{"line_number":56,"context_line":"\"\"\","},{"line_number":57,"context_line":"    ),"},{"line_number":58,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":13,"id":"52c8a236_b0a66345","line":55,"range":{"start_line":55,"start_character":35,"end_line":55,"end_character":52},"in_reply_to":"6a0736fb_cc13b84c","updated":"2026-08-04 18:32:12.000000000","message":"the spec only dicussed wildicardign for the pci adress by the way \n\nhttps://specs.openstack.org/openstack/cyborg-specs/specs/2026.2/approved/generic-mdev-driver.html#mdevbusmanager-class-design\n\nwildcarding the type was not incldued on prupruse form my perspective.","commit_id":"21eb2780a0272fe0822e9f10bbf6c852ccab3d66"}],"cyborg/tests/unit/conf/test_devices.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"57a99bb45ef4b49a0e9a67d276c5aec003d463ef","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"c6e86423_835b804e","line":52,"updated":"2026-07-29 20:42:10.000000000","message":"we dont often test config option with any greate level of detail because that is basiclly testing oslo.config\n\nwe often only test it indriectly vai our other tests but sure this looks ok.","commit_id":"b4801bcfbf51ad05f477c134c2b540663ddbe92e"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"a21d23866a0f1007c05a75ecc12c371f6ecd9ea4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"8833023d_d22f721d","line":52,"in_reply_to":"c6e86423_835b804e","updated":"2026-07-30 10:20:06.000000000","message":"yeah I would not have written these tests by hand, but since claude created them before I noticed I figured we might as well keep them","commit_id":"b4801bcfbf51ad05f477c134c2b540663ddbe92e"},{"author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"5b8eb51d69645c60254fcf380a954f00d7292d53","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"# a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":10,"id":"bfa67dd3_ef8bb550","line":1,"updated":"2026-07-30 11:45:15.000000000","message":"The new test file is named test_devices.py and its module docstring says \u0027Tests for cyborg.conf.devices configuration options,\u0027 but every test in the file actually exercises the cyborg.conf.mdev module. The sole test class is TestMdevConfigGroup and it imports from cyborg.conf.mdev. The misleadin...\n\n**Severity**: SUGGESTION | **Confidence**: 0.9\n\n**Benefit**: A developer looking for tests of cyborg.conf.devices will find a file that appears to test it but does not. Conversely, a developer looking for mdev conf tests will not find them under the expected name test_mdev.py. This creates confusion and increases the risk of missing test coverage during fu...\n\n**Recommendation**:\nRename the file from test_devices.py to test_mdev.py and update the module docstring to reference cyborg.conf.mdev instead of cyborg.conf.devices. This aligns with the convention used by cyborg/tests/unit/accelerator/bus_managers/test_mdev.py.","commit_id":"eec48798330117911747deac60142d570e0de2f6"}],"cyborg/tests/unit/conf/test_mdev.py":[{"author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"d76ac6f4cbe13b7cbfaeeb9078dda8f2463ac97b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"Tests for cyborg.conf.devices configuration options.\"\"\""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from oslo_config import cfg"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"51173929_4c82c179","line":13,"updated":"2026-07-31 12:22:52.000000000","message":"The module docstring in test_mdev.py incorrectly says it tests cyborg.conf.devices configuration options, but it actually tests cyborg.conf.mdev. This is a copy-paste error from when the test was likely derived from an existing conf test.\n\n**Severity**: SUGGESTION | **Confidence**: 1.0\n\n**Benefit**: Misleading documentation that could confuse contributors navigating the test suite or searching for the correct test module for mdev or devices configuration.\n\n**Recommendation**:\nChange the docstring to \"\"\"Tests for cyborg.conf.mdev configuration options.\"\"\" to match the module under test.","commit_id":"08154bdd44005f5d466682931df36c78b1a38c69"}]}
