)]}'
{".zuul.yaml":[{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"f69bc94c437bd11b76ee597cd8673e82be240b2e","unresolved":true,"context_lines":[{"line_number":77,"context_line":"    parent: cyborg-tempest"},{"line_number":78,"context_line":"    nodeset: openstack-single-node-noble"},{"line_number":79,"context_line":"    override-checkout: stable/2026.1"},{"line_number":80,"context_line":"    vars: \u0026stable_branch_vars"},{"line_number":81,"context_line":"      devstack_local_conf:"},{"line_number":82,"context_line":"        test-config:"},{"line_number":83,"context_line":"          $TEMPEST_CONFIG:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"07122989_7ae3ccb6","line":80,"updated":"2026-07-21 16:48:40.000000000","message":"I think this should go in the `cyborg-tempest` and `cyborg-tempest-ipv6-only` job definitions, otherwise patches to cyborg stable branches will run these tests, and I don\u0027t think we\u0027ve backported the fixes right?","commit_id":"9d147f3f002bf13201981f205b61b0cec28d4931"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"5718043c3ff98f183f46cfa590a06e2081549ff5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9cf1561a_661e690f","updated":"2026-06-10 04:57:55.000000000","message":"recheck","commit_id":"a38d1b46f3ca13ef7bee6e9e21ff1a71ea0b4cc4"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"46499c12d51dbd538dfd40cce3e9a6ee9aa79964","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b9f59054_8e41772f","updated":"2026-06-10 02:01:49.000000000","message":"recheck","commit_id":"a38d1b46f3ca13ef7bee6e9e21ff1a71ea0b4cc4"}],"cyborg_tempest_plugin/tests/scenario/test_accelerator_basic_ops.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":"a3d50ffcf7f4535b164388f3bc23ab2ed651f0ef","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        accel_flavor \u003d self.create_accel_flavor(response[\"name\"])"},{"line_number":95,"context_line":"        # TODO(sean-k-mooney): create_accel_flavor should register its"},{"line_number":96,"context_line":"        # own addCleanup like create_flavor does; fix in the helper."},{"line_number":97,"context_line":"        self.addCleanup("},{"line_number":98,"context_line":"            self.admin_flavors_client.delete_flavor, accel_flavor)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        self.create_server("}],"source_content_type":"text/x-python","patch_set":4,"id":"bf08b495_23d6a569","line":97,"updated":"2026-07-20 17:41:55.000000000","message":"The test explicitly calls self.addCleanup(self.admin_flavors_client.delete_flavor, accel_flavor), but create_accel_flavor() already registers its own cleanup via test_utils.call_and_ignore_notfound_exc(client.delete_flavor, flavor[\u0027id\u0027]). The duplicate cleanup is harmless due to LIFO ordering, bu...\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: No functional harm—the LIFO cleanup order means the explicit cleanup runs first and succeeds, then the helper\u0027s wrapped cleanup runs second and silently ignores the resulting 404. However, the explicit cleanup is not wrapped in call_and_ignore_notfound_exc, so if execution order ever changes, it...\n\n**Recommendation**:\nRemove the explicit addCleanup call since create_accel_flavor() already handles cleanup. Also update or remove the stale TODO comment, since the helper already registers its own cleanup.","commit_id":"c7270469ebcb72acf8e00feeab21dc9748555d75"},{"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":"a3d50ffcf7f4535b164388f3bc23ab2ed651f0ef","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        # image_create() uploads from CONF.scenario.img_file and registers"},{"line_number":117,"context_line":"        # cleanup automatically; FakeDriver ignores the file content."},{"line_number":118,"context_line":"        program_response \u003d client.program_deployable("},{"line_number":119,"context_line":"            fake_deps[0][\u0027uuid\u0027], self.image_create(name\u003d\u0027bitstream\u0027))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        self.assertEqual(fake_deps[0][\u0027uuid\u0027], program_response[\u0027uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"0f2a67da_0671fda5","line":119,"updated":"2026-07-20 17:41:55.000000000","message":"self.image_create(name\u003d\u0027bitstream\u0027) returns the full image response dict from tempest\u0027s ScenarioTest, not a UUID string. The dict is passed directly as image_uuid to program_deployable(), which serializes it into the JSON-Patch body. The Cyborg server validates image_uuid with types.UUIDType().va...\n\n**Severity**: HIGH | **Confidence**: 0.9\n\n**Risk**: The test will fail at runtime when the Cyborg API rejects the invalid image_uuid value. The entire purpose of the change—adding CI coverage for the FPGA programming path—will not be achieved.\n\n**Priority**: Before merge\n**Why This Matters**: The test will fail at runtime when the Cyborg API rejects the invalid image_uuid value. The entire purpose of the change—adding CI coverage for the FPGA programming path—will not be achieved.\n\n**Recommendation**:\nChange the call to extract the image ID: `self.image_create(name\u003d\u0027bitstream\u0027)[\u0027id\u0027]` instead of `self.image_create(name\u003d\u0027bitstream\u0027)`.","commit_id":"c7270469ebcb72acf8e00feeab21dc9748555d75"}]}
