)]}'
{"cyborg/api/controllers/link.py":[{"author":{"_account_id":22899,"name":"coco-Gao","email":"419546439@qq.com","username":"Coco"},"change_message_id":"d352621109e5a6fbb0822a12ea85f2ecda2026cb","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    if base_url is None:"},{"line_number":24,"context_line":"        base_url \u003d pecan.request.public_url"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    # TODO(Sundar) Return version etc. similar to other projects."},{"line_number":27,"context_line":"    template \u003d \u0027%(url)s/accelerator/%(res)s\u0027 \\"},{"line_number":28,"context_line":"        if bookmark else \u0027%(url)s/accelerator/\u0027 + base.API_V2 + \u0027/%(res)s\u0027"},{"line_number":29,"context_line":"    template +\u003d \u0027%(args)s\u0027 if resource_args.startswith(\u0027?\u0027) else \u0027/%(args)s\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_9e95aa3f","line":26,"range":{"start_line":26,"start_character":11,"end_line":26,"end_character":17},"updated":"2019-09-04 14:34:38.000000000","message":"The same, the API related change. https://review.opendev.org/#/c/670466","commit_id":"a12920080c11a2ca058f0da8788ef53853393515"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"e5736f4c1670f438792665195649ab594240ae5b","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    if base_url is None:"},{"line_number":24,"context_line":"        base_url \u003d pecan.request.public_url"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    # TODO(Sundar) Return version etc. similar to other projects."},{"line_number":27,"context_line":"    template \u003d \u0027%(url)s/accelerator/%(res)s\u0027 \\"},{"line_number":28,"context_line":"        if bookmark else \u0027%(url)s/accelerator/\u0027 + base.API_V2 + \u0027/%(res)s\u0027"},{"line_number":29,"context_line":"    template +\u003d \u0027%(args)s\u0027 if resource_args.startswith(\u0027?\u0027) else \u0027/%(args)s\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_60cfe07e","line":26,"range":{"start_line":26,"start_character":11,"end_line":26,"end_character":17},"in_reply_to":"7faddb67_6fd6f629","updated":"2019-09-06 15:33:11.000000000","message":"Done","commit_id":"a12920080c11a2ca058f0da8788ef53853393515"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"852d131a8bb4dda74c7db984e877d7401fcd8015","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    if base_url is None:"},{"line_number":24,"context_line":"        base_url \u003d pecan.request.public_url"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    # TODO(Sundar) Return version etc. similar to other projects."},{"line_number":27,"context_line":"    template \u003d \u0027%(url)s/accelerator/%(res)s\u0027 \\"},{"line_number":28,"context_line":"        if bookmark else \u0027%(url)s/accelerator/\u0027 + base.API_V2 + \u0027/%(res)s\u0027"},{"line_number":29,"context_line":"    template +\u003d \u0027%(args)s\u0027 if resource_args.startswith(\u0027?\u0027) else \u0027/%(args)s\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_6fd6f629","line":26,"range":{"start_line":26,"start_character":11,"end_line":26,"end_character":17},"in_reply_to":"7faddb67_9e95aa3f","updated":"2019-09-04 16:12:34.000000000","message":"Done","commit_id":"a12920080c11a2ca058f0da8788ef53853393515"}],"cyborg/api/controllers/v2/api_version_request.py":[{"author":{"_account_id":22899,"name":"coco-Gao","email":"419546439@qq.com","username":"Coco"},"change_message_id":"d352621109e5a6fbb0822a12ea85f2ecda2026cb","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import re"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from cyborg.common import exception"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# Define the minimum and maximum version of the API across all of the"},{"line_number":20,"context_line":"# REST API. The format of the version is:"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_3ea116aa","line":17,"range":{"start_line":17,"start_character":26,"end_line":17,"end_character":35},"updated":"2019-09-04 14:34:38.000000000","message":"This patch is database related, I think it\u0027s better to put API related changes into the patch: https://review.opendev.org/#/c/670466","commit_id":"a12920080c11a2ca058f0da8788ef53853393515"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"852d131a8bb4dda74c7db984e877d7401fcd8015","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import re"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from cyborg.common import exception"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# Define the minimum and maximum version of the API across all of the"},{"line_number":20,"context_line":"# REST API. The format of the version is:"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_efe186fd","line":17,"range":{"start_line":17,"start_character":26,"end_line":17,"end_character":35},"in_reply_to":"7faddb67_3ea116aa","updated":"2019-09-04 16:12:34.000000000","message":"Done","commit_id":"a12920080c11a2ca058f0da8788ef53853393515"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"e5736f4c1670f438792665195649ab594240ae5b","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import re"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from cyborg.common import exception"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# Define the minimum and maximum version of the API across all of the"},{"line_number":20,"context_line":"# REST API. The format of the version is:"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_80ca1c6b","line":17,"range":{"start_line":17,"start_character":26,"end_line":17,"end_character":35},"in_reply_to":"7faddb67_efe186fd","updated":"2019-09-06 15:33:11.000000000","message":"Done","commit_id":"a12920080c11a2ca058f0da8788ef53853393515"}],"cyborg/common/constants.py":[{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"317c0f7ffe89f4dbefd53c8b1599ee0d215c0332","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"ARQ_STATES \u003d (ARQ_INITIAL, ARQ_BIND_STARTED, ARQ_BOUND, ARQ_UNBOUND,"},{"line_number":25,"context_line":"              ARQ_BIND_FAILED, ARQ_DELETING) \u003d ("},{"line_number":26,"context_line":"    \u0027Initial\u0027, \u0027BindStarted\u0027, \u0027Bound\u0027, \u0027Unbound\u0027, \u0027BindFailed\u0027, \u0027Deleted\u0027)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"# Device type"},{"line_number":29,"context_line":"DEVICE_TYPE \u003d (DEVICE_GPU, DEVICE_FPGA, DEVICE_AICHIP)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_f5f65bd8","line":26,"range":{"start_line":26,"start_character":65,"end_line":26,"end_character":72},"updated":"2019-09-03 06:15:58.000000000","message":"\u0027Deleting\u0027 or \u0027Deleted\u0027","commit_id":"2a8f77a1ce81ce06a41d1aee5bd9898baa436f41"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"852d131a8bb4dda74c7db984e877d7401fcd8015","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"ARQ_STATES \u003d (ARQ_INITIAL, ARQ_BIND_STARTED, ARQ_BOUND, ARQ_UNBOUND,"},{"line_number":25,"context_line":"              ARQ_BIND_FAILED, ARQ_DELETING) \u003d ("},{"line_number":26,"context_line":"    \u0027Initial\u0027, \u0027BindStarted\u0027, \u0027Bound\u0027, \u0027Unbound\u0027, \u0027BindFailed\u0027, \u0027Deleted\u0027)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"# Device type"},{"line_number":29,"context_line":"DEVICE_TYPE \u003d (DEVICE_GPU, DEVICE_FPGA, DEVICE_AICHIP)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_af35e4a9","line":26,"range":{"start_line":26,"start_character":65,"end_line":26,"end_character":72},"in_reply_to":"7faddb67_f5f65bd8","updated":"2019-09-04 16:12:34.000000000","message":"Done","commit_id":"2a8f77a1ce81ce06a41d1aee5bd9898baa436f41"}],"cyborg/common/exception.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7eff9a360aec072cff0c413ce4745da787bc6886","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"class InvalidAPIVersionString(Invalid):"},{"line_number":167,"context_line":"    msg_fmt \u003d _(\"API Version String %(version)s is of invalid format. Must \""},{"line_number":168,"context_line":"                \"be of format MajorNum.MinorNum.\")"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"# Cannot be templated as the error syntax varies."}],"source_content_type":"text/x-python","patch_set":14,"id":"5faad753_b3e5fb3a","line":168,"updated":"2019-09-06 13:39:38.000000000","message":"This change looks like it might belong in the previous patch.","commit_id":"3e28abf1df102740b640f83e17026b22af810734"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"e5736f4c1670f438792665195649ab594240ae5b","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"class InvalidAPIVersionString(Invalid):"},{"line_number":167,"context_line":"    msg_fmt \u003d _(\"API Version String %(version)s is of invalid format. Must \""},{"line_number":168,"context_line":"                \"be of format MajorNum.MinorNum.\")"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"# Cannot be templated as the error syntax varies."}],"source_content_type":"text/x-python","patch_set":14,"id":"5faad753_f91d91bd","line":168,"in_reply_to":"5faad753_b3e5fb3a","updated":"2019-09-06 15:33:11.000000000","message":"Done","commit_id":"3e28abf1df102740b640f83e17026b22af810734"}],"cyborg/db/sqlalchemy/alembic/versions/c1b5abada09c_update_for_nova_integ.py":[{"author":{"_account_id":22899,"name":"coco-Gao","email":"419546439@qq.com","username":"Coco"},"change_message_id":"eea036654ac3e5fa61d71cfe1f67a30b2d3dfa67","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                  )"},{"line_number":62,"context_line":"    op.drop_column(\u0027extended_accelerator_requests\u0027, \u0027device_instance_uuid\u0027)"},{"line_number":63,"context_line":"    # Add more valid states for \u0027state\u0027 field"},{"line_number":64,"context_line":"    ns \u003d sa.Enum(constants.ARQ_INITIAL,"},{"line_number":65,"context_line":"                 constants.ARQ_BIND_STARTED,"},{"line_number":66,"context_line":"                 constants.ARQ_BOUND,"},{"line_number":67,"context_line":"                 constants.ARQ_UNBOUND,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_6a6d2898","line":64,"range":{"start_line":64,"start_character":4,"end_line":64,"end_character":6},"updated":"2019-08-29 02:40:25.000000000","message":"I\u0027m OK with these states, but as Shaohe mentioned in the last IRC meeting that we should add \"ARQ_DELETING\"state. Should that state be in this patch or another?","commit_id":"e71710f78cb05add01839cc13d6056940d699ee5"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"6c01fe175e3aacba947636721bdcd0aa20c70ffa","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                  )"},{"line_number":62,"context_line":"    op.drop_column(\u0027extended_accelerator_requests\u0027, \u0027device_instance_uuid\u0027)"},{"line_number":63,"context_line":"    # Add more valid states for \u0027state\u0027 field"},{"line_number":64,"context_line":"    ns \u003d sa.Enum(constants.ARQ_INITIAL,"},{"line_number":65,"context_line":"                 constants.ARQ_BIND_STARTED,"},{"line_number":66,"context_line":"                 constants.ARQ_BOUND,"},{"line_number":67,"context_line":"                 constants.ARQ_UNBOUND,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_7574ab9c","line":64,"range":{"start_line":64,"start_character":4,"end_line":64,"end_character":6},"in_reply_to":"7faddb67_6a6d2898","updated":"2019-09-03 05:41:29.000000000","message":"Done","commit_id":"e71710f78cb05add01839cc13d6056940d699ee5"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"678ea9c1e5a29ec75a265b7164987b931cc735a7","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    op.add_column("},{"line_number":41,"context_line":"        \u0027deployables\u0027,"},{"line_number":42,"context_line":"        sa.Column(\u0027num_accelerators_in_use\u0027, sa.Integer(), default\u003d0))"},{"line_number":43,"context_line":"    op.add_column("},{"line_number":44,"context_line":"        \u0027deployables\u0027,"},{"line_number":45,"context_line":"        sa.Column(\u0027bitstream_id\u0027, sa.String(length\u003d36), nullable\u003dTrue))"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_adb54834","line":43,"updated":"2019-08-28 07:23:43.000000000","message":"If we append these changes, we will break the current master version to upgrade to the new version.","commit_id":"da0dbc98a1533463728e524be51af2507ef5c082"}],"cyborg/db/sqlalchemy/api.py":[{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"8e49b6c5bfb33d0071f268bb87af24c247e9b949","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        \"\"\""},{"line_number":266,"context_line":"        with _session_for_write() as session:"},{"line_number":267,"context_line":"            ref \u003d query.with_lockmode(\u0027update\u0027).one()"},{"line_number":268,"context_line":"            ref.update(values)"},{"line_number":269,"context_line":"            # FIXME The in_use field doesn\u0027t get updated in db."},{"line_number":270,"context_line":"            session.flush()"},{"line_number":271,"context_line":"        return ref"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_164d6fc3","line":268,"range":{"start_line":268,"start_character":12,"end_line":268,"end_character":30},"updated":"2019-08-29 18:00:59.000000000","message":"This is a bug.\nYour just update the python object in cache.\nDoes not update it in DB.\n\nfix it by:\nhttps://review.opendev.org/679314","commit_id":"da0dbc98a1533463728e524be51af2507ef5c082"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"25f67d2b7524c081cde7f3f4aaf309a08c78685e","unresolved":false,"context_lines":[{"line_number":271,"context_line":"        return ref"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def attach_handle_allocate(self, context, deployable_id):"},{"line_number":274,"context_line":"        \"\"\"Allocate an attach handle with a given type and deployable."},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"           To allocate is to get an unused resource and mark it as in_use."},{"line_number":277,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_6d81904d","line":274,"range":{"start_line":274,"start_character":11,"end_line":274,"end_character":69},"updated":"2019-08-28 07:24:18.000000000","message":"Hi, Doesn\u0027t the attach_type be needed for the latest changes? I see [1] still have the attach_type field. If we donIf we don\u0027t need it now, I think the above comment should be changed.\n[1].https://github.com/openstack/cyborg/blob/master/cyborg/objects/attach_handle.py#L39","commit_id":"da0dbc98a1533463728e524be51af2507ef5c082"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"e298ace9193c6d761f94f8395705b384e21abed7","unresolved":false,"context_lines":[{"line_number":271,"context_line":"        return ref"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def attach_handle_allocate(self, context, deployable_id):"},{"line_number":274,"context_line":"        \"\"\"Allocate an attach handle with a given type and deployable."},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"           To allocate is to get an unused resource and mark it as in_use."},{"line_number":277,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_b56783b8","line":274,"range":{"start_line":274,"start_character":11,"end_line":274,"end_character":69},"in_reply_to":"7faddb67_35c6339e","updated":"2019-09-03 06:11:36.000000000","message":"Ok. Thanks for your reply.","commit_id":"da0dbc98a1533463728e524be51af2507ef5c082"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"3ec9065dd741f7175c33e1a4517d0f1d2cd89f1c","unresolved":false,"context_lines":[{"line_number":271,"context_line":"        return ref"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def attach_handle_allocate(self, context, deployable_id):"},{"line_number":274,"context_line":"        \"\"\"Allocate an attach handle with a given type and deployable."},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"           To allocate is to get an unused resource and mark it as in_use."},{"line_number":277,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_35c6339e","line":274,"range":{"start_line":274,"start_character":11,"end_line":274,"end_character":69},"in_reply_to":"7faddb67_6d81904d","updated":"2019-09-03 06:00:03.000000000","message":"The attach_type varies by driver: fake driver sets TEST_PCI while others use PCI. So, I am using whatever the deployable has. In fact, a given deployable has only 1 type of attach handle (at least today). \n\nI will add an explanation in objects/ext_arq.py and fix the comment here.","commit_id":"da0dbc98a1533463728e524be51af2507ef5c082"}]}
