)]}'
{"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":"161f5449fbcff6dd46361bec6116f420c22de7d5","unresolved":false,"context_lines":[{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        # image_create() uploads from CONF.scenario.img_file and registers"},{"line_number":134,"context_line":"        # cleanup automatically."},{"line_number":135,"context_line":"        try:"},{"line_number":136,"context_line":"            program_response \u003d client.program_deployable("},{"line_number":137,"context_line":"                deployables[0][\u0027uuid\u0027], self.image_create(name\u003d\u0027bitstream\u0027)"},{"line_number":138,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":1,"id":"5bdff2c4_58835f45","line":135,"updated":"2026-11-13 19:23:24.000000000","message":"In test_fpga_program, the try block wraps client.program_deployable(deployables[0][\u0027uuid\u0027], self.image_create(name\u003d\u0027bitstream\u0027)). Tempest\u0027s rest_client raises lib_exc.ServerFault for any HTTP 500 response from any service, including Glance. If the bitstream image upload fails with a 500, the except handler converts it into \u0027Programming deployable %s failed ... requires an FPGA deployable whose driver implements update(); check [cyborg_fpga] device_profile_name\u0027, attributing the failure to the programming call and device profile even though the program API was never reached.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: On a Glance-side 500, developers debugging the failure are directed to check the FPGA device profile and the cyborg program path, wasting triage time in CI; the reported error no longer names the operation that actually failed, degrading the diagnostic value this change intends to add.\n\n**Suggestion**:\nCreate the bitstream image before the try block (image_id \u003d self.image_create(name\u003d\u0027bitstream\u0027)) and pass image_id to client.program_deployable() inside the try, so the ServerFault handler only covers the programming API call. Optionally append a separator such as a period or newline between the interpolated exception text and the advisory sentence.","commit_id":"6327037fe4db8448adf5f5e44ccfc3b465be6770"}]}
