)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"943731a17fc395b5ae896fe9584121befe9f1de0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"testcase for FPGAExtARQ"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is one of ExtARQ bind UT patches serial."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I5e7dcae051a45cfcd9f27d463f593a79960ce346"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3fa7e38b_72281d84","line":9,"range":{"start_line":9,"start_character":43,"end_line":9,"end_character":45},"updated":"2020-01-27 08:19:39.000000000","message":"nit: I think we can make this message info clearly, because and you also do a bug fix, such as \"...,and fixing a bug that...\"","commit_id":"33e74c0b8db6402f3106b4471be6e1a2379e34d3"}],"cyborg/objects/extarq/fpga_ext_arq.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"943731a17fc395b5ae896fe9584121befe9f1de0","unresolved":false,"context_lines":[{"line_number":226,"context_line":"        controlpath_id \u003d cpid_list[0]"},{"line_number":227,"context_line":"        controlpath_id[\u0027cpid_info\u0027] \u003d jsonutils.loads("},{"line_number":228,"context_line":"            controlpath_id[\u0027cpid_info\u0027])"},{"line_number":229,"context_line":"        LOG.info(\u0027Found control path id: %s\u0027, controlpath_id.__dict__)"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        LOG.info(\u0027Starting programming for host: (%s) deployable (%s) \u0027"},{"line_number":232,"context_line":"                 \u0027bitstream_id (%s)\u0027, hostname,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_92435940","side":"PARENT","line":229,"range":{"start_line":229,"start_character":60,"end_line":229,"end_character":69},"updated":"2020-01-27 08:19:39.000000000","message":"yes, we should avoid use __dict__ in code, this may bring us some unexcepted issue.","commit_id":"a39f816b554235027ef786f57f2eec00f885bcb1"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"982a9d48c8bc58699d1604bf660bd540d8f280a8","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            # has\u0027t bitstream. We should return False."},{"line_number":107,"context_line":"            LOG.info(\u0027No programming is required. \u0027)"},{"line_number":108,"context_line":"            return False"},{"line_number":109,"context_line":"        if bs_id and deployable.bitstream_id \u003d\u003d bs_id:"},{"line_number":110,"context_line":"            LOG.info(\u0027Deployable %s already has the needed \u0027"},{"line_number":111,"context_line":"                     \u0027bitstream %s. Skipping programming.\u0027,"},{"line_number":112,"context_line":"                     deployable.uuid, bs_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_975acf4e","line":109,"updated":"2020-01-18 22:00:08.000000000","message":"This is a bug fix, not a test case.","commit_id":"33e74c0b8db6402f3106b4471be6e1a2379e34d3"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"a6630496ef8f592f9b65a135aced9ef984ecfb0d","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            # has\u0027t bitstream. We should return False."},{"line_number":107,"context_line":"            LOG.info(\u0027No programming is required. \u0027)"},{"line_number":108,"context_line":"            return False"},{"line_number":109,"context_line":"        if bs_id and deployable.bitstream_id \u003d\u003d bs_id:"},{"line_number":110,"context_line":"            LOG.info(\u0027Deployable %s already has the needed \u0027"},{"line_number":111,"context_line":"                     \u0027bitstream %s. Skipping programming.\u0027,"},{"line_number":112,"context_line":"                     deployable.uuid, bs_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_9a22f601","line":109,"in_reply_to":"3fa7e38b_975acf4e","updated":"2020-01-19 02:26:16.000000000","message":"yes, it is found during the write UT.\nsuch as:\ndeployable.bitstream_id maybe None,\nand bs_id also be None. \n\nwith this bug, the UT will failed. \nWe should bound this bug fix with its UT.","commit_id":"33e74c0b8db6402f3106b4471be6e1a2379e34d3"}],"cyborg/tests/unit/fake_deployable.py":[{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"9865402c49ba682fd7c34f194080af6a23883e2b","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from cyborg import objects"},{"line_number":18,"context_line":"from cyborg.objects import fields"},{"line_number":19,"context_line":"import json"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def fake_db_deployable(**updates):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_93120361","line":19,"range":{"start_line":19,"start_character":6,"end_line":19,"end_character":11},"updated":"2019-12-19 08:41:49.000000000","message":"We suggest use jsonutils instead of json. like [1].\n[1]. https://github.com/openstack/cyborg/blob/8f78a05a24ea17ad1036b32e05dbc75233cd374d/cyborg/accelerator/drivers/fake.py#L15","commit_id":"0f22452d6dc9410b844bb1f7b37b6551a1845c16"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"2df12ef8680aed278856cb9b9c0cabefed90f9d4","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from cyborg import objects"},{"line_number":18,"context_line":"from cyborg.objects import fields"},{"line_number":19,"context_line":"import json"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def fake_db_deployable(**updates):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_05dd89dd","line":19,"range":{"start_line":19,"start_character":7,"end_line":19,"end_character":11},"updated":"2020-02-03 07:10:07.000000000","message":"jsonutils","commit_id":"33e74c0b8db6402f3106b4471be6e1a2379e34d3"}],"cyborg/tests/unit/fake_extarq.py":[{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"9865402c49ba682fd7c34f194080af6a23883e2b","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"def get_fake_fpga_extarq_objs():"},{"line_number":116,"context_line":"    arq_list \u003d _get_arqs_as_dict()[1:]"},{"line_number":117,"context_line":"    obj_extarqs \u003d list(map(_convert_from_dict_to_fpga_obj, arq_list))"},{"line_number":118,"context_line":"    return obj_extarqs"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_a985520c","line":116,"range":{"start_line":116,"start_character":33,"end_line":116,"end_character":38},"updated":"2019-12-19 08:41:49.000000000","message":"Hi shaohe. Why we jump index 0, maybe we can delete Line40?","commit_id":"0f22452d6dc9410b844bb1f7b37b6551a1845c16"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"a52c54938488e38058ef6f3fc06160b7244dce4f","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"def get_fake_fpga_extarq_objs():"},{"line_number":116,"context_line":"    arq_list \u003d _get_arqs_as_dict()[1:]"},{"line_number":117,"context_line":"    obj_extarqs \u003d list(map(_convert_from_dict_to_fpga_obj, arq_list))"},{"line_number":118,"context_line":"    return obj_extarqs"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_ff774a06","line":116,"range":{"start_line":116,"start_character":33,"end_line":116,"end_character":38},"in_reply_to":"3fa7e38b_a985520c","updated":"2019-12-24 11:29:07.000000000","message":"No, This is just construct fpag EXTARQ. \nwe can not remove Line40， we use it for our test，it can help us to cover more cases.\n\nyou can see this testcase test_get_suitable_ext_arq:\nhttps://review.opendev.org/#/c/700504/1/cyborg/tests/unit/objects/test_ext_arq_job.py\n\nAlso there are other cases, some just used to test ExtARQ, some are used for FpgaExtARQ.","commit_id":"0f22452d6dc9410b844bb1f7b37b6551a1845c16"}],"cyborg/tests/unit/objects/test_extarq.py":[{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"9865402c49ba682fd7c34f194080af6a23883e2b","unresolved":false,"context_lines":[{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        good_states \u003d constants.ARQ_STATES_TRANSFORM_MATRIX["},{"line_number":235,"context_line":"            constants.ARQ_BIND_STARTED]"},{"line_number":236,"context_line":"        obj_extarq \u003d self.fake_obj_extarqs[0]"},{"line_number":237,"context_line":"        obj_fpga_extarq \u003d self.fake_obj_fpga_extarqs[0]"},{"line_number":238,"context_line":"        obj_fpga_extarq.state \u003d self.fake_obj_fpga_extarqs[0]"},{"line_number":239,"context_line":"        obj_extarq.arq.state \u003d good_states[0]"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_89a97690","side":"PARENT","line":236,"range":{"start_line":236,"start_character":43,"end_line":236,"end_character":45},"updated":"2019-12-19 08:41:49.000000000","message":"why we change 0 to 1?","commit_id":"1c27941adc1cb68934ef4257641d7e40082d1a57"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"a52c54938488e38058ef6f3fc06160b7244dce4f","unresolved":false,"context_lines":[{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        good_states \u003d constants.ARQ_STATES_TRANSFORM_MATRIX["},{"line_number":235,"context_line":"            constants.ARQ_BIND_STARTED]"},{"line_number":236,"context_line":"        obj_extarq \u003d self.fake_obj_extarqs[0]"},{"line_number":237,"context_line":"        obj_fpga_extarq \u003d self.fake_obj_fpga_extarqs[0]"},{"line_number":238,"context_line":"        obj_fpga_extarq.state \u003d self.fake_obj_fpga_extarqs[0]"},{"line_number":239,"context_line":"        obj_extarq.arq.state \u003d good_states[0]"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_ff60aa36","side":"PARENT","line":236,"range":{"start_line":236,"start_character":43,"end_line":236,"end_character":45},"in_reply_to":"3fa7e38b_89a97690","updated":"2019-12-24 11:29:07.000000000","message":"For I have add more fake ARQs.\nthe item 1 FPGA need program, that we need for this testcase.","commit_id":"1c27941adc1cb68934ef4257641d7e40082d1a57"}],"cyborg/tests/unit/objects/test_fpga_ext_arq.py":[{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"9865402c49ba682fd7c34f194080af6a23883e2b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from io import BytesIO"},{"line_number":17,"context_line":"import json"},{"line_number":18,"context_line":"import mock"},{"line_number":19,"context_line":"import requests"},{"line_number":20,"context_line":"from requests import structures"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_360e9d33","line":17,"range":{"start_line":17,"start_character":7,"end_line":17,"end_character":11},"updated":"2019-12-19 08:41:49.000000000","message":"jsonutils","commit_id":"0f22452d6dc9410b844bb1f7b37b6551a1845c16"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"9865402c49ba682fd7c34f194080af6a23883e2b","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            \"cpid_info\": json.dumps(self.bdf).encode(\u0027utf-8\u0027)"},{"line_number":66,"context_line":"        }"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def Response(self, status_code\u003d200, content\u003d\u0027\u0027, headers\u003dNone,"},{"line_number":69,"context_line":"                 reason\u003dNone, elapsed\u003d0, request\u003dNone, stream\u003dFalse):"},{"line_number":70,"context_line":"        res \u003d requests.Response()"},{"line_number":71,"context_line":"        res.status_code \u003d status_code"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_491e1ebd","line":68,"range":{"start_line":68,"start_character":8,"end_line":68,"end_character":16},"updated":"2019-12-19 08:41:49.000000000","message":"Suggest use lowcase.","commit_id":"0f22452d6dc9410b844bb1f7b37b6551a1845c16"}]}
