)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"804c9491e7762b7cefc64c3f35098031d37be2d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"145af2c9_8f30398a","updated":"2026-08-17 15:50:47.000000000","message":"recheck","commit_id":"e03d7f0113387462812b30201e81172c118dde28"}],"cyborg/accelerator/drivers/ssd/base.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":"26c75dbceb891b979799620e553d232792d672ad","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":47,"context_line":"        warnings.warn("},{"line_number":48,"context_line":"            \u0027SSDDriver is deprecated. Use the generic NVMe driver \u0027"},{"line_number":49,"context_line":"            \u0027(nvme_driver). Removal target: 2027.2.\u0027,"},{"line_number":50,"context_line":"            DeprecationWarning,"}],"source_content_type":"text/x-python","patch_set":14,"id":"f103c0a4_395ab85b","line":47,"updated":"2026-08-13 15:16:22.000000000","message":"The patch\u0027s stated intent is to direct operators to the NVMe driver, but DeprecationWarning from a non-__main__ module is hidden by Python\u0027s default filters, and the agent loads these drivers via stevedore inside a long-running service.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Operators enabling inspur_nvme_ssd_driver get no deprecation signal before the 2027.2 removal, defeating the purpose of the deprecation cycle and risking surprise breakage on upgrade.\n\n**Suggestion**:\nEmit the deprecation via LOG.warning (or LOG.warning plus DeprecationWarning) so it appears in agent logs, and/or add a reno upgrade note stating the driver must be moved to nvme_driver. Precedent: the microversion service-type deprecation in this repo logs a warning rather than relying on warnings.warn.","commit_id":"c3f6a681e93ad0ae778588a5b8740df2c7a094a8"},{"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":"f44fe2380a8dbf921991095f31343e25e7142be7","unresolved":false,"context_lines":[{"line_number":43,"context_line":"       Use the generic NVMe driver (``nvme_driver``) instead."},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":47,"context_line":"        warnings.warn("},{"line_number":48,"context_line":"            \u0027SSDDriver is deprecated. Use the generic NVMe driver \u0027"},{"line_number":49,"context_line":"            \u0027(nvme_driver). Removal target: 2027.2.\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"19a4dcab_b8ed9bc8","line":46,"updated":"2026-08-14 16:42:41.000000000","message":"Both new deprecation warnings use warnings.warn(..., DeprecationWarning), which CPython filters out by default outside __main__. No filterwarnings configuration, -W default, or PYTHONWARNINGS guidance exists in the repo or the release note.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Operators enabling inspur_nvme_ssd_driver per the [agent] enabled_drivers help text will never see the deprecation notice in normal agent logs, undermining the commit\u0027s stated goal of directing operators to migrate before the 2027.2 removal.\n\n**Suggestion**:\nSurface the deprecation via the OpenStack-conventional route in addition to warnings.warn: use LOG.warning (oslo_log, already imported in base.py) once at driver instantiation/init_host, or document in the release note that operators must run with -W default::DeprecationWarning / PYTHONWARNINGS\u003ddefault to see the warning.","commit_id":"f140210b74394ed540438d6afa3c77bc3dee1c6d"},{"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":"6958efad494c6ec424e0037d2497f2dda64ec82d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"       Use the generic NVMe driver (``nvme_driver``) instead."},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":47,"context_line":"        warnings.warn("},{"line_number":48,"context_line":"            \u0027SSDDriver is deprecated. Use the generic NVMe driver \u0027"},{"line_number":49,"context_line":"            \u0027(nvme_driver). Removal target: 2027.2.\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"9a12f066_4c24d680","line":46,"updated":"2026-08-17 15:59:38.000000000","message":"SSDDriver is instantiated by stevedore DriverManager inside the cyborg-agent process (cyborg/agent/resource_tracker.py:69-73), where Python\u0027s default warning filters suppress DeprecationWarning except in __main__, so the warning never reaches operators\u0027 logs despite the commit\u0027s stated intent to...\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Operators running the agent with the deprecated driver configured will see no indication of the deprecation or the 2027.2 removal timeline, defeating the purpose of the deprecation notice.\n\n**Suggestion**:\nIn addition to (or instead of) warnings.warn, log the deprecation with LOG.warning in __init__ so it appears once in the cyborg-agent log at driver load time; the unit test can then assert the warning is raised as well.","commit_id":"e03d7f0113387462812b30201e81172c118dde28"},{"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":"0530e062635f20c4822e8987e81d51d165e0357d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"       Use the generic NVMe driver (``nvme_driver``) instead."},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":47,"context_line":"        warnings.warn("},{"line_number":48,"context_line":"            \u0027SSDDriver is deprecated. Use the generic NVMe driver \u0027"},{"line_number":49,"context_line":"            \u0027(nvme_driver). Removal target: 2027.2.\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"2284659c_e4c8cf09","line":46,"updated":"2026-08-17 08:55:37.000000000","message":"The warning uses the DeprecationWarning category, which Python filters out by default outside __main__. In the long-running cyborg-agent process the driver is instantiated via stevedore, so the warning is silently dropped unless PYTHONWARNINGS or a warnings-to-logging bridge is configured.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Operators running cyborg-agent with the deprecated inspur_nvme_ssd_driver enabled will see no log output about the deprecation or the 2027.2 removal target until the driver is actually deleted, leaving no migration window in practice.\n\n**Suggestion**:\nEmit the deprecation through LOG.warning (once, e.g. guarded by a class-level flag) in addition to or instead of warnings.warn, or document/enforce warnings capture so DeprecationWarning from drivers reaches the cyborg-agent log.","commit_id":"e03d7f0113387462812b30201e81172c118dde28"},{"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":"0a9dc0b94cea10beb8b2c72b5428d20ba23d4ad1","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":47,"context_line":"        warnings.warn("},{"line_number":48,"context_line":"            \u0027SSDDriver is deprecated. Use the generic NVMe driver \u0027"},{"line_number":49,"context_line":"            \u0027(nvme_driver). Removal target: 2027.2.\u0027,"},{"line_number":50,"context_line":"            DeprecationWarning,"}],"source_content_type":"text/x-python","patch_set":18,"id":"c3eb294b_e75334a7","line":47,"updated":"2026-08-18 07:17:04.000000000","message":"The commit states the warning directs operators to configure the generic NVMe driver, but DeprecationWarning is ignored by Python\u0027s default warning filters outside __main__. The only registered consumption path for the SSD family is the cyborg-agent loading inspur_nvme_ssd_driver via stevedore DriverManager(invoke_on_load\u003dTrue), which instantiates the driver in the agent service process where the warning is silently discarded.\n\n**Severity**: WARNING | **Confidence**: 0.85\n\n**Impact**: Operators running the Inspur NVMe SSD driver get no deprecation signal in cyborg-agent logs and can be surprised when the driver is removed in 2027.2, defeating the stated purpose of the change.\n\n**Suggestion**:\nIn addition to (or instead of) warnings.warn, log the deprecation via LOG.warning in the driver __init__ so it appears in the agent\u0027s log output on first load, e.g. LOG.warning(\u0027inspur_nvme_ssd_driver is deprecated; configure nvme_driver instead. Removal target: 2027.2.\u0027)","commit_id":"5fcb29807280d5707135b90b1009e23520b549f6"},{"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":"6be99a4e7b3f03a2a996e3716710e04d0122ee87","unresolved":false,"context_lines":[{"line_number":43,"context_line":"       Use the generic NVMe driver (``nvme_driver``) instead."},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":47,"context_line":"        warnings.warn("},{"line_number":48,"context_line":"            \u0027SSDDriver is deprecated. Use the generic NVMe driver \u0027"},{"line_number":49,"context_line":"            \u0027(nvme_driver). Removal target: 2027.2.\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"e7126187_9f9eda86","line":46,"updated":"2026-08-21 12:41:27.000000000","message":"The commit message claims deprecation warnings are emitted at startup directing operators to switch to nvme_driver, but the change uses warnings.warn(..., DeprecationWarning). CPython\u0027s default warning filter ignores DeprecationWarning unless triggered from __main__ (PEP 565). Drivers are instantiated during cyborg-agent startup via stevedore DriverManager(namespace\u003d\u0027cyborg.accelerator.driver\u0027, invoke_on_load\u003dTrue) in cyborg/agent/resource_tracker.py:_initialize_drivers, so the trigger location is never __main__ and the warning is silently swallowed in a default deployment.\n\n**Severity**: WARNING | **Confidence**: 0.85\n\n**Impact**: Operators running cyborg-agent with an SSD driver enabled get no signal that it is slated for removal in 2027.2, defeating the deprecation\u0027s purpose and setting up surprise breakage at removal time.\n\n**Suggestion**:\nEmit the notice through an operator-visible channel: LOG.warning via oslo_log at driver instantiation, or debtcollector.deprecate()/a UserWarning-derived category. Keep the unit test asserting whichever visible channel is chosen.","commit_id":"9b49ad680b8a179a91d13cd07f45a3bbba2507f1"}],"cyborg/accelerator/drivers/ssd/inspur/driver.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":"c276aaec268252c3e95c8d70826e95a05b71557e","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":30,"context_line":"        warnings.warn("},{"line_number":31,"context_line":"            \u0027InspurNVMeSSDDriver is deprecated and will be removed in a \u0027"},{"line_number":32,"context_line":"            \u0027future release. Use NVMeDriver instead.\u0027,"},{"line_number":33,"context_line":"            DeprecationWarning,"},{"line_number":34,"context_line":"            stacklevel\u003d2,"}],"source_content_type":"text/x-python","patch_set":10,"id":"f46689f0_55e681db","line":31,"updated":"2026-08-11 16:46:14.000000000","message":"SSDDriver.__init__ emits a warning with \u0027Removal target: 2027.2\u0027 while InspurNVMeSSDDriver.__init__ only says \u0027will be removed in a future release\u0027 without specifying a timeline. Operators using the Inspur driver receive a less actionable message than those using the base driver.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Operators using the Inspur-specific driver see a vague \u0027future release\u0027 message while the base class gives a concrete removal version. This inconsistency may cause confusion about the actual deprecation timeline and delay migration planning.\n\n**Recommendation**:\nUpdate the InspurNVMeSSDDriver warning message to include \u0027Removal target: 2027.2.\u0027 to match the base SSDDriver message, ensuring all deprecation warnings in the same hierarchy communicate the same timeline.","commit_id":"6b523a61bd010ea1c0316f5f0970873ed7bc24e6"},{"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":"7ce14a46a53332c7f3e489fe2ba45ab7b119a97d","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":30,"context_line":"        warnings.warn("},{"line_number":31,"context_line":"            \u0027InspurNVMeSSDDriver is deprecated and will be removed in a \u0027"},{"line_number":32,"context_line":"            \u0027future release. Use NVMeDriver instead.\u0027,"},{"line_number":33,"context_line":"            DeprecationWarning,"},{"line_number":34,"context_line":"            stacklevel\u003d2,"}],"source_content_type":"text/x-python","patch_set":11,"id":"0fbd07f2_b205dda9","line":31,"updated":"2026-08-12 10:27:40.000000000","message":"The SSDDriver deprecation warning specifies a concrete removal target (\u0027Removal target: 2027.2\u0027), but the InspurNVMeSSDDriver warning only says \u0027removed in a future release\u0027 without a target version. Since both drivers are deprecated in the same change for the same reason, the inconsistency may c...\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Operators using the Inspur driver will not know the concrete removal target from the warning alone, making migration planning harder. If both are removed together in 2027.2, the Inspur warning should say so.\n\n**Recommendation**:\nUpdate the InspurNVMeSSDDriver warning to include the same \u00272027.2\u0027 removal target as the SSDDriver warning, or document why the timelines differ if they are intentionally separate.","commit_id":"f49c9289939bc3c84a15420e64f33d01167c1f17"},{"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":"4412b8c48666e43d3db4bc93b159467de13a3a9d","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    VENDOR \u003d \"inspur\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":30,"context_line":"        warnings.warn("},{"line_number":31,"context_line":"            \u0027InspurNVMeSSDDriver is deprecated and will be removed in a \u0027"},{"line_number":32,"context_line":"            \u0027future release. Use NVMeDriver instead.\u0027,"},{"line_number":33,"context_line":"            DeprecationWarning,"}],"source_content_type":"text/x-python","patch_set":12,"id":"de119616_0c7607a4","line":30,"updated":"2026-08-12 16:00:11.000000000","message":"SSDDriver\u0027s warning message specifies a concrete removal target (\u0027Removal target: 2027.2\u0027) while InspurNVMeSSDDriver\u0027s message is vague (\u0027will be removed in a future release\u0027). Both classes are deprecated in the same patch and face the same removal timeline.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Operators using InspurNVMeSSDDriver cannot plan their migration timeline because the warning lacks the concrete 2027.2 removal target that SSDDriver provides. This creates confusion about whether the two drivers have different deprecation schedules.\n\n**Recommendation**:\nUpdate the InspurNVMeSSDDriver warning message to include the same \u0027Removal target: 2027.2\u0027 as SSDDriver, e.g.: \u0027InspurNVMeSSDDriver is deprecated. Use NVMeDriver instead. Removal target: 2027.2.\u0027","commit_id":"01fdf95bcfd9f282cbd463db4bdbd93a1afb2b92"},{"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":"21084b483cd8592fe666fcfdcaafe0564d63f03f","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":30,"context_line":"        warnings.warn("},{"line_number":31,"context_line":"            \u0027InspurNVMeSSDDriver is deprecated and will be removed in a \u0027"},{"line_number":32,"context_line":"            \u0027future release. Use NVMeDriver instead.\u0027,"},{"line_number":33,"context_line":"            DeprecationWarning,"},{"line_number":34,"context_line":"            stacklevel\u003d2,"}],"source_content_type":"text/x-python","patch_set":13,"id":"699cb645_dc2c2993","line":31,"updated":"2026-08-13 06:37:33.000000000","message":"SSDDriver\u0027s warning specifies \u0027Removal target: 2027.2\u0027 but InspurNVMeSSDDriver\u0027s warning says only \u0027a future release\u0027. The commit message states 2027.2 as the removal target for both, creating an inconsistency between the stated intent and the runtime message.\n\n**Severity**: SUGGESTION | **Confidence**: 0.9\n\n**Benefit**: Operators using InspurNVMeSSDDriver will not know the concrete removal timeline, making migration planning harder than it is for SSDDriver users who see the 2027.2 target.\n\n**Recommendation**:\nUpdate the InspurNVMeSSDDriver warning message to include \u0027Removal target: 2027.2\u0027 to match SSDDriver\u0027s message and the commit\u0027s stated intent.","commit_id":"d07e82ad5edc30a0ad9afa9b50b2717b9874e7aa"},{"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":"f44fe2380a8dbf921991095f31343e25e7142be7","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class InspurNVMeSSDDriver(SSDDriver):"},{"line_number":27,"context_line":"    VENDOR \u003d \"inspur\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":30,"context_line":"        warnings.warn("},{"line_number":31,"context_line":"            \u0027InspurNVMeSSDDriver is deprecated and will be removed in a \u0027"},{"line_number":32,"context_line":"            \u0027future release. Use NVMeDriver instead.\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"e07add37_84a71748","line":29,"updated":"2026-08-14 16:42:41.000000000","message":"InspurNVMeSSDDriver.__init__() emits its own DeprecationWarning but swallows all positional and keyword arguments instead of forwarding them, so any constructor arguments passed via SSDDriver.create(vendor\u003d\u0027inspur\u0027, ...) or direct instantiation are silently dropped by this subclass.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: If InspurNVMeSSDDriver (or a future subclass) gains constructor parameters, they are accepted syntactically but ignored, producing silently wrong configuration. Today the arguments are unused, but the signature accepts them while the implementation discards them, which is a latent correctness trap.\n\n**Suggestion**:\nForward the arguments while avoiding a duplicate warning, e.g. set an instance/class flag checked in the base __init__ (self-skip) and call super().__init__(*args, **kwargs); or at minimum add a comment documenting that *args/**kwargs are accepted for interface compatibility and intentionally not forwarded, so future maintainers do not \u0027fix\u0027 it into a duplicate-warning path.","commit_id":"f140210b74394ed540438d6afa3c77bc3dee1c6d"},{"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":"b73013e3fd1c30ea889d2b55b695d4d38058c697","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class InspurNVMeSSDDriver(SSDDriver):"},{"line_number":27,"context_line":"    VENDOR \u003d \"inspur\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":30,"context_line":"        warnings.warn("},{"line_number":31,"context_line":"            \u0027InspurNVMeSSDDriver is deprecated and will be removed in a \u0027"},{"line_number":32,"context_line":"            \u0027future release. Use NVMeDriver instead.\u0027,"}],"source_content_type":"text/x-python","patch_set":16,"id":"19a93ea7_ab8c397d","line":29,"updated":"2026-08-15 17:29:54.000000000","message":"The new InspurNVMeSSDDriver.__init__(self, *args, **kwargs) accepts positional and keyword arguments but discards them and never calls super().__init__(). Any caller-supplied args are silently ignored, unlike SSDDriver which forwards them.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: If any current or future caller (stevedore invoke_on_load, SSDDriver.create(), out-of-tree tooling) passes constructor arguments they are silently dropped with no error, producing drivers configured differently than requested. It also breaks the Liskov pattern the base class just established one...\n\n**Suggestion**:\nMatch the base-class pattern: accept no extra arguments (def __init__(self):) or, if args must be tolerated, forward them via super().__init__(*args, **kwargs) while suppressing the duplicate base warning (e.g. filter the base message, or factor the warning into a helper both classes call).","commit_id":"d6abfc56516a3a4743419854c0b8088591a36556"}],"cyborg/tests/unit/accelerator/drivers/ssd/test_base.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":"dc2e630a486ca75fe07eb0a1f5338c147338b373","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_create_ssd_vendor_not_found(self):"},{"line_number":34,"context_line":"        self.assertRaises(LookupError, SSDDriver.create, \u0027_non-exist_vendor\u0027)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_deprecation_warning(self):"},{"line_number":37,"context_line":"        with warnings.catch_warnings(record\u003dTrue) as w:"},{"line_number":38,"context_line":"            warnings.simplefilter(\u0027always\u0027)"},{"line_number":39,"context_line":"            SSDDriver()"}],"source_content_type":"text/x-python","patch_set":8,"id":"53a31d7f_faabc94b","line":36,"updated":"2026-08-09 06:04:22.000000000","message":"The commit adds a DeprecationWarning to InspurNVMeSSDDriver.__init__, but the new test_deprecation_warning test only verifies the SSDDriver base-class warning. There is no test asserting that instantiating InspurNVMeSSDDriver emits its own DeprecationWarning with the expected message.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: If someone later removes the DeprecationWarning from InspurNVMeSSDDriver, no test will catch the regression. The test coverage for the deprecation is incomplete for one of the two classes modified.\n\n**Recommendation**:\nAdd a test that instantiates InspurNVMeSSDDriver inside a warnings.catch_warnings(record\u003dTrue) context, asserts exactly one DeprecationWarning is emitted, and checks the message contains \u0027InspurNVMeSSDDriver\u0027 or \u0027NVMeDriver\u0027.","commit_id":"a1d4b329f7075826d3f8305f163d5688fd58d2b8"},{"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":"b17a03ef593d1952860328f8b447f57b8055da0e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_create_ssd_vendor_not_found(self):"},{"line_number":34,"context_line":"        self.assertRaises(LookupError, SSDDriver.create, \u0027_non-exist_vendor\u0027)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_deprecation_warning(self):"},{"line_number":37,"context_line":"        with warnings.catch_warnings(record\u003dTrue) as w:"},{"line_number":38,"context_line":"            warnings.simplefilter(\u0027always\u0027)"},{"line_number":39,"context_line":"            SSDDriver()"}],"source_content_type":"text/x-python","patch_set":9,"id":"354da75c_1eddb907","line":36,"updated":"2026-08-11 10:25:18.000000000","message":"The patch adds a new __init__ with a DeprecationWarning to InspurNVMeSSDDriver, but the test file only covers SSDDriver\u0027s deprecation warning. There is no test verifying that InspurNVMeSSDDriver emits a DeprecationWarning with the expected message.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: If the InspurNVMeSSDDriver deprecation warning is accidentally removed or altered in future changes, no test will catch the regression. The changed behavior for InspurNVMeSSDDriver is untested.\n\n**Suggestion**:\nAdd a test (e.g., test_inspur_deprecation_warning) that instantiates InspurNVMeSSDDriver() inside warnings.catch_warnings(record\u003dTrue), asserts exactly one DeprecationWarning is emitted, and verifies the message references \u0027NVMeDriver\u0027. This mirrors the existing test_deprecation_warning pattern.","commit_id":"6c7806f6cd116195dc77599b51f7683412c73ceb"},{"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":"c276aaec268252c3e95c8d70826e95a05b71557e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_create_ssd_vendor_not_found(self):"},{"line_number":34,"context_line":"        self.assertRaises(LookupError, SSDDriver.create, \u0027_non-exist_vendor\u0027)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_deprecation_warning(self):"},{"line_number":37,"context_line":"        with warnings.catch_warnings(record\u003dTrue) as w:"},{"line_number":38,"context_line":"            warnings.simplefilter(\u0027always\u0027)"},{"line_number":39,"context_line":"            SSDDriver()"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a96a884_ac91aa99","line":36,"updated":"2026-08-11 16:46:14.000000000","message":"The new test_deprecation_warning only exercises the base SSDDriver warning. There is no test verifying that InspurNVMeSSDDriver emits its own DeprecationWarning, nor that exactly one warning is produced (no duplicate from the base class). The commit message explicitly states the subclass avoids c...\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: The no-duplicate-warning behavior is a stated design goal of this patch. Without a test, a future refactor could reintroduce the duplicate warning undetected, degrading the operator experience.\n\n**Suggestion**:\nAdd a test that instantiates InspurNVMeSSDDriver() within a warnings.catch_warnings(record\u003dTrue) context, asserts exactly one DeprecationWarning is emitted, and verifies the message mentions InspurNVMeSSDDriver. This directly validates the no-duplicate design described in the commit message.","commit_id":"6b523a61bd010ea1c0316f5f0970873ed7bc24e6"},{"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":"7ce14a46a53332c7f3e489fe2ba45ab7b119a97d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_create_ssd_vendor_not_found(self):"},{"line_number":34,"context_line":"        self.assertRaises(LookupError, SSDDriver.create, \u0027_non-exist_vendor\u0027)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_deprecation_warning(self):"},{"line_number":37,"context_line":"        with warnings.catch_warnings(record\u003dTrue) as w:"},{"line_number":38,"context_line":"            warnings.simplefilter(\u0027always\u0027)"},{"line_number":39,"context_line":"            SSDDriver()"}],"source_content_type":"text/x-python","patch_set":11,"id":"21998241_1c279997","line":36,"updated":"2026-08-12 10:27:40.000000000","message":"The change adds a DeprecationWarning to both SSDDriver.__init__ and InspurNVMeSSDDriver.__init__, but the new test_deprecation_warning test only exercises SSDDriver. There is no test verifying that InspurNVMeSSDDriver emits a DeprecationWarning, and no test confirming it emits exactly one warning...\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: Without a test, a future refactor could accidentally remove the InspurNVMeSSDDriver deprecation warning or reintroduce a duplicate warning without detection. The non-obvious super().__init__() skip makes regression particularly likely.\n\n**Suggestion**:\nAdd a test similar to test_deprecation_warning that instantiates InspurNVMeSSDDriver within a warnings.catch_warnings context, asserts exactly one DeprecationWarning is emitted, and verifies the message mentions the Inspur driver or NVMeDriver.","commit_id":"f49c9289939bc3c84a15420e64f33d01167c1f17"},{"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":"4412b8c48666e43d3db4bc93b159467de13a3a9d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_create_ssd_vendor_not_found(self):"},{"line_number":34,"context_line":"        self.assertRaises(LookupError, SSDDriver.create, \u0027_non-exist_vendor\u0027)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_deprecation_warning(self):"},{"line_number":37,"context_line":"        with warnings.catch_warnings(record\u003dTrue) as w:"},{"line_number":38,"context_line":"            warnings.simplefilter(\u0027always\u0027)"},{"line_number":39,"context_line":"            SSDDriver()"}],"source_content_type":"text/x-python","patch_set":12,"id":"58248954_b02b0c5b","line":36,"updated":"2026-08-12 16:00:11.000000000","message":"The patch adds DeprecationWarning emission to both SSDDriver.__init__ and InspurNVMeSSDDriver.__init__, but the new test_deprecation_warning test only covers SSDDriver. There is no test asserting that instantiating InspurNVMeSSDDriver produces a DeprecationWarning.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: Without a dedicated test, future refactoring could silently remove or break the InspurNVMeSSDDriver deprecation warning without test failure. The deliberate omission of super().__init__() is also untested — a future change could accidentally reintroduce a duplicate warning from the base class.\n\n**Suggestion**:\nAdd a test similar to test_deprecation_warning that instantiates InspurNVMeSSDDriver(), asserts exactly one DeprecationWarning is emitted, and verifies the warning message contains \u0027NVMeDriver\u0027. This also implicitly verifies that no duplicate warning from SSDDriver leaks through.","commit_id":"01fdf95bcfd9f282cbd463db4bdbd93a1afb2b92"},{"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":"21084b483cd8592fe666fcfdcaafe0564d63f03f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_create_ssd_vendor_not_found(self):"},{"line_number":34,"context_line":"        self.assertRaises(LookupError, SSDDriver.create, \u0027_non-exist_vendor\u0027)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_deprecation_warning(self):"},{"line_number":37,"context_line":"        with warnings.catch_warnings(record\u003dTrue) as w:"},{"line_number":38,"context_line":"            warnings.simplefilter(\u0027always\u0027)"},{"line_number":39,"context_line":"            SSDDriver()"}],"source_content_type":"text/x-python","patch_set":13,"id":"f9115a09_6146b162","line":36,"updated":"2026-08-13 06:37:33.000000000","message":"The new InspurNVMeSSDDriver.__init__ emits a DeprecationWarning, but the added test only verifies SSDDriver\u0027s warning. There is no test asserting that instantiating InspurNVMeSSDDriver produces a DeprecationWarning.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: A regression that accidentally removes the InspurNVMeSSDDriver deprecation warning would not be caught by the test suite, leaving operators without the migration signal the patch is meant to provide.\n\n**Suggestion**:\nAdd a test method (e.g., test_inspur_deprecation_warning) that instantiates InspurNVMeSSDDriver() inside warnings.catch_warnings(record\u003dTrue), asserts exactly one DeprecationWarning, and checks that the message mentions \u0027NVMeDriver\u0027.","commit_id":"d07e82ad5edc30a0ad9afa9b50b2717b9874e7aa"},{"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":"f44fe2380a8dbf921991095f31343e25e7142be7","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_create_ssd_vendor_not_found(self):"},{"line_number":34,"context_line":"        self.assertRaises(LookupError, SSDDriver.create, \u0027_non-exist_vendor\u0027)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_deprecation_warning(self):"},{"line_number":37,"context_line":"        with warnings.catch_warnings(record\u003dTrue) as w:"},{"line_number":38,"context_line":"            warnings.simplefilter(\u0027always\u0027)"},{"line_number":39,"context_line":"            SSDDriver()"}],"source_content_type":"text/x-python","patch_set":15,"id":"d2bc77a7_76571edf","line":36,"updated":"2026-08-14 16:42:41.000000000","message":"The new test covers SSDDriver\u0027s warning only. There is no equivalent test for InspurNVMeSSDDriver.__init__, including the non-duplication behavior the commit message explicitly calls out (no duplicate warning because super().__init__() is not called).\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: The intentionally-suppressed duplicate warning is a subtle invariant: a future refactor adding super().__init__() would emit two warnings and no test would catch it. Coverage of the changed Inspur driver\u0027s warning (which names the class and points to NVMeDriver) is also missing.\n\n**Suggestion**:\nAdd a test that instantiates InspurNVMeSSDDriver() under warnings.catch_warnings(record\u003dTrue) with simplefilter(\u0027always\u0027), asserts len(w) \u003d\u003d 1 (locking in the no-duplicate invariant), asserts w[0].category is DeprecationWarning, and asserts \u0027InspurNVMeSSDDriver\u0027 appears in str(w[0].message).","commit_id":"f140210b74394ed540438d6afa3c77bc3dee1c6d"},{"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":"0530e062635f20c4822e8987e81d51d165e0357d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_create_ssd_vendor_not_found(self):"},{"line_number":34,"context_line":"        self.assertRaises(LookupError, SSDDriver.create, \u0027_non-exist_vendor\u0027)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def test_deprecation_warning(self):"},{"line_number":37,"context_line":"        with warnings.catch_warnings(record\u003dTrue) as w:"},{"line_number":38,"context_line":"            warnings.simplefilter(\u0027always\u0027)"},{"line_number":39,"context_line":"            SSDDriver()"}],"source_content_type":"text/x-python","patch_set":17,"id":"f693e565_4f9587b0","line":36,"updated":"2026-08-17 08:55:37.000000000","message":"The new test only asserts the SSDDriver base-class warning. The Inspur-specific warning text (\u0027Use NVMeDriver instead\u0027, no \u0027nvme_driver\u0027 token, no 2027.2 target) and the intended no-duplicate-warning behavior when instantiating InspurNVMeSSDDriver are untested.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: The Inspur warning path and the documented no-duplicate-warning contract from the commit message are unguarded; regressions in either would pass the test suite silently.\n\n**Recommendation**:\nAdd a test that instantiates InspurNVMeSSDDriver under catch_warnings and asserts exactly one DeprecationWarning whose message names NVMeDriver, mirroring the base-class test.","commit_id":"e03d7f0113387462812b30201e81172c118dde28"}]}
