)]}'
{"cyborg/common/exception.py":[{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"5057642b4986c0de78c068362c5fbad9090dd8d7","unresolved":false,"context_lines":[{"line_number":404,"context_line":"                 \"Expected: %(expected)s\")"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"# TODO Merge other NotFound in this generic one?"},{"line_number":408,"context_line":"class ResourceNotFound(Invalid):"},{"line_number":409,"context_line":"    _msg_fmt \u003d _(\"%(resource)s not found %(msg)s\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_a14429b9","line":407,"range":{"start_line":407,"start_character":36,"end_line":407,"end_character":43},"updated":"2019-08-01 05:49:14.000000000","message":"had better with specific one  for every resource","commit_id":"1b3d9688d8e46691412efa9f652122f063b94af6"}],"cyborg/db/sqlalchemy/alembic/versions/c1b5abada09c_update_for_nova_integ.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"061b1ea0cc9d18cccd15c5cb0ac19bce1b7a5045","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                  )"},{"line_number":44,"context_line":"    op.drop_column(\u0027extended_accelerator_requests\u0027, \u0027device_instance_uuid\u0027)"},{"line_number":45,"context_line":"    # Add more valid states for \u0027state\u0027 field"},{"line_number":46,"context_line":"    ns \u003d sa.Enum(\u0027Initial\u0027, \u0027Bound\u0027, \u0027Unbound\u0027, \u0027BindFailed\u0027, name\u003d\u0027state\u0027)"},{"line_number":47,"context_line":"    op.alter_column("},{"line_number":48,"context_line":"        \u0027extended_accelerator_requests\u0027, \u0027state\u0027,"},{"line_number":49,"context_line":"        existing_type\u003dns, nullable\u003dFalse, default\u003d\u0027Initial\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_c4a3ddff","line":46,"updated":"2019-07-25 02:34:26.000000000","message":"ditto","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a23c601708fd2d84646fa60f0d87a1160c0dc28d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                  )"},{"line_number":44,"context_line":"    op.drop_column(\u0027extended_accelerator_requests\u0027, \u0027device_instance_uuid\u0027)"},{"line_number":45,"context_line":"    # Add more valid states for \u0027state\u0027 field"},{"line_number":46,"context_line":"    ns \u003d sa.Enum(\u0027Initial\u0027, \u0027Bound\u0027, \u0027Unbound\u0027, \u0027BindFailed\u0027, name\u003d\u0027state\u0027)"},{"line_number":47,"context_line":"    op.alter_column("},{"line_number":48,"context_line":"        \u0027extended_accelerator_requests\u0027, \u0027state\u0027,"},{"line_number":49,"context_line":"        existing_type\u003dns, nullable\u003dFalse, default\u003d\u0027Initial\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_12282d84","line":46,"in_reply_to":"7faddb67_c4a3ddff","updated":"2019-07-29 06:10:49.000000000","message":"Done","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"061b1ea0cc9d18cccd15c5cb0ac19bce1b7a5045","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    ns \u003d sa.Enum(\u0027Initial\u0027, \u0027Bound\u0027, \u0027Unbound\u0027, \u0027BindFailed\u0027, name\u003d\u0027state\u0027)"},{"line_number":47,"context_line":"    op.alter_column("},{"line_number":48,"context_line":"        \u0027extended_accelerator_requests\u0027, \u0027state\u0027,"},{"line_number":49,"context_line":"        existing_type\u003dns, nullable\u003dFalse, default\u003d\u0027Initial\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_049a55c4","line":49,"range":{"start_line":49,"start_character":51,"end_line":49,"end_character":58},"updated":"2019-07-25 02:34:26.000000000","message":"nit: we could use ARQ_INITIAL","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a23c601708fd2d84646fa60f0d87a1160c0dc28d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    ns \u003d sa.Enum(\u0027Initial\u0027, \u0027Bound\u0027, \u0027Unbound\u0027, \u0027BindFailed\u0027, name\u003d\u0027state\u0027)"},{"line_number":47,"context_line":"    op.alter_column("},{"line_number":48,"context_line":"        \u0027extended_accelerator_requests\u0027, \u0027state\u0027,"},{"line_number":49,"context_line":"        existing_type\u003dns, nullable\u003dFalse, default\u003d\u0027Initial\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_322be982","line":49,"range":{"start_line":49,"start_character":51,"end_line":49,"end_character":58},"in_reply_to":"7faddb67_049a55c4","updated":"2019-07-29 06:10:49.000000000","message":"Done","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"}],"cyborg/db/sqlalchemy/api.py":[{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"92769ec160b782f0aa561813106f97c5a0d6b12e","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        except NoResultFound:"},{"line_number":162,"context_line":"            raise exception.NotFound()"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    def attach_handle_get_by_type(self, context, attach_type\u003d\u0027PCI\u0027):"},{"line_number":165,"context_line":"        query \u003d model_query(context, models.AttachHandle). \\"},{"line_number":166,"context_line":"            filter_by(attach_type\u003dattach_type)"},{"line_number":167,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_efd32ad4","line":164,"range":{"start_line":164,"start_character":8,"end_line":164,"end_character":33},"updated":"2019-07-29 03:10:40.000000000","message":"Is attach_handle_list_by_type bette? Cause it returns not one attach_handle.","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a23c601708fd2d84646fa60f0d87a1160c0dc28d","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        except NoResultFound:"},{"line_number":162,"context_line":"            raise exception.NotFound()"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    def attach_handle_get_by_type(self, context, attach_type\u003d\u0027PCI\u0027):"},{"line_number":165,"context_line":"        query \u003d model_query(context, models.AttachHandle). \\"},{"line_number":166,"context_line":"            filter_by(attach_type\u003dattach_type)"},{"line_number":167,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_92a2dd99","line":164,"range":{"start_line":164,"start_character":8,"end_line":164,"end_character":33},"in_reply_to":"7faddb67_efd32ad4","updated":"2019-07-29 06:10:49.000000000","message":"Done","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"061b1ea0cc9d18cccd15c5cb0ac19bce1b7a5045","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        try:"},{"line_number":168,"context_line":"            return query.all()"},{"line_number":169,"context_line":"        except NoResultFound:"},{"line_number":170,"context_line":"            raise exception.NotFound()"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def attach_handle_get_by_filters(self, context,"},{"line_number":173,"context_line":"                                     filters, sort_key\u003d\u0027created_at\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_e444d91d","line":170,"range":{"start_line":170,"start_character":18,"end_line":170,"end_character":38},"updated":"2019-07-25 02:34:26.000000000","message":"nit: it might to say AttachHandleNotFound","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a23c601708fd2d84646fa60f0d87a1160c0dc28d","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        try:"},{"line_number":168,"context_line":"            return query.all()"},{"line_number":169,"context_line":"        except NoResultFound:"},{"line_number":170,"context_line":"            raise exception.NotFound()"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def attach_handle_get_by_filters(self, context,"},{"line_number":173,"context_line":"                                     filters, sort_key\u003d\u0027created_at\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_72a721a9","line":170,"range":{"start_line":170,"start_character":18,"end_line":170,"end_character":38},"in_reply_to":"7faddb67_e444d91d","updated":"2019-07-29 06:10:49.000000000","message":"AttachHandleNotFound expects an uuid, which we don\u0027t have here. \n\nInstead, we can use ResourceNotFound. All other XNotFound can be rewritten in terms of ResourceNotFound.","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"92769ec160b782f0aa561813106f97c5a0d6b12e","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"           To allocate is to get an unused resource and mark it as in_use."},{"line_number":273,"context_line":"        \"\"\""},{"line_number":274,"context_line":"        query \u003d model_query(context, models.AttachHandle). \\"},{"line_number":275,"context_line":"            filter_by(attach_type\u003dattach_type,"},{"line_number":276,"context_line":"                      deployable_id\u003ddeployable_id,"},{"line_number":277,"context_line":"                      in_use\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_4fe4beac","line":274,"range":{"start_line":274,"start_character":8,"end_line":274,"end_character":13},"updated":"2019-07-29 03:10:40.000000000","message":"should we select the first element of query using query.one()","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a23c601708fd2d84646fa60f0d87a1160c0dc28d","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"           To allocate is to get an unused resource and mark it as in_use."},{"line_number":273,"context_line":"        \"\"\""},{"line_number":274,"context_line":"        query \u003d model_query(context, models.AttachHandle). \\"},{"line_number":275,"context_line":"            filter_by(attach_type\u003dattach_type,"},{"line_number":276,"context_line":"                      deployable_id\u003ddeployable_id,"},{"line_number":277,"context_line":"                      in_use\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_4f07de1d","line":274,"range":{"start_line":274,"start_character":8,"end_line":274,"end_character":13},"in_reply_to":"7faddb67_4fe4beac","updated":"2019-07-29 06:10:49.000000000","message":"_do_update_attach_handle() does call query.one in line 263 above.","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"a2a9b6f46c40586c83878bacfd40c99fba649502","unresolved":false,"context_lines":[{"line_number":561,"context_line":"                raise exception.DeviceProfileNotFound(uuid\u003duuid)"},{"line_number":562,"context_line":""},{"line_number":563,"context_line":"    def deployable_create(self, context, values):"},{"line_number":564,"context_line":"        raise NotImplementedError()  # TODO"},{"line_number":565,"context_line":"        if not values.get(\u0027uuid\u0027):"},{"line_number":566,"context_line":"            values[\u0027uuid\u0027] \u003d uuidutils.generate_uuid()"},{"line_number":567,"context_line":"        if values.get(\u0027id\u0027):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_6f8dfad1","line":564,"range":{"start_line":564,"start_character":14,"end_line":564,"end_character":33},"updated":"2019-07-30 07:05:01.000000000","message":"why not implemented?","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"3139dd6ee3e39d57e4d3918f62989c28c119dc19","unresolved":false,"context_lines":[{"line_number":561,"context_line":"                raise exception.DeviceProfileNotFound(uuid\u003duuid)"},{"line_number":562,"context_line":""},{"line_number":563,"context_line":"    def deployable_create(self, context, values):"},{"line_number":564,"context_line":"        raise NotImplementedError()  # TODO"},{"line_number":565,"context_line":"        if not values.get(\u0027uuid\u0027):"},{"line_number":566,"context_line":"            values[\u0027uuid\u0027] \u003d uuidutils.generate_uuid()"},{"line_number":567,"context_line":"        if values.get(\u0027id\u0027):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_30f0a891","line":564,"range":{"start_line":564,"start_character":14,"end_line":564,"end_character":33},"in_reply_to":"7faddb67_6f8dfad1","updated":"2019-07-30 15:01:37.000000000","message":"It is marked as a TODO. I am hoping to get this merged soon so that more of us can contribute to the TODOs.","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"a2a9b6f46c40586c83878bacfd40c99fba649502","unresolved":false,"context_lines":[{"line_number":578,"context_line":"            return deployable"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":"    def deployable_get(self, context, uuid):"},{"line_number":581,"context_line":"        raise NotImplementedError()  # TODO"},{"line_number":582,"context_line":"        query \u003d model_query("},{"line_number":583,"context_line":"            context,"},{"line_number":584,"context_line":"            models.Deployable).filter_by(uuid\u003duuid)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_0fbec664","line":581,"range":{"start_line":581,"start_character":14,"end_line":581,"end_character":33},"updated":"2019-07-30 07:05:01.000000000","message":"ditto","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"3139dd6ee3e39d57e4d3918f62989c28c119dc19","unresolved":false,"context_lines":[{"line_number":578,"context_line":"            return deployable"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":"    def deployable_get(self, context, uuid):"},{"line_number":581,"context_line":"        raise NotImplementedError()  # TODO"},{"line_number":582,"context_line":"        query \u003d model_query("},{"line_number":583,"context_line":"            context,"},{"line_number":584,"context_line":"            models.Deployable).filter_by(uuid\u003duuid)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_1031ec5a","line":581,"range":{"start_line":581,"start_character":14,"end_line":581,"end_character":33},"in_reply_to":"7faddb67_0fbec664","updated":"2019-07-30 15:01:37.000000000","message":"Please see above.","commit_id":"6667b75ffa06ec8378c94a7509bd7e4ee02bd7f1"}]}
