)]}'
{"cyborg/conductor/manager.py":[{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"c92e22e548277f9be353ddc630d689e305a87879","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            # get the driver_dev_obj, diff the driver_device layer"},{"line_number":151,"context_line":"            new_driver_dev_obj \u003d new_driver_device_list[new_cpid_list.index(s)]"},{"line_number":152,"context_line":"            old_driver_dev_obj \u003d old_driver_device_list[old_cpid_list.index(s)]"},{"line_number":153,"context_line":"            dev_obj \u003d Device.get_list_by_hostname(context, host)[0]"},{"line_number":154,"context_line":"            cpid_id \u003d ControlpathID.get_list_by_device_id_cpidinfo(context,"},{"line_number":155,"context_line":"                                                                   dev_obj.id,"},{"line_number":156,"context_line":"                                                                   s)[0].id"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_9ab1d0e4","line":153,"range":{"start_line":153,"start_character":12,"end_line":153,"end_character":67},"updated":"2019-03-07 03:23:19.000000000","message":"I don\u0027t quite understand this part, what if there are more than 1 devices on this host?","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"5dfb26d9c6ba6d281e48d2028e8838f50aeea99c","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            # get the driver_dev_obj, diff the driver_device layer"},{"line_number":151,"context_line":"            new_driver_dev_obj \u003d new_driver_device_list[new_cpid_list.index(s)]"},{"line_number":152,"context_line":"            old_driver_dev_obj \u003d old_driver_device_list[old_cpid_list.index(s)]"},{"line_number":153,"context_line":"            dev_obj \u003d Device.get_list_by_hostname(context, host)[0]"},{"line_number":154,"context_line":"            cpid_id \u003d ControlpathID.get_list_by_device_id_cpidinfo(context,"},{"line_number":155,"context_line":"                                                                   dev_obj.id,"},{"line_number":156,"context_line":"                                                                   s)[0].id"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_bf5ef6e3","line":153,"range":{"start_line":153,"start_character":0,"end_line":153,"end_character":67},"updated":"2019-03-07 10:55:34.000000000","message":"same question here as Li said.","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"},{"author":{"_account_id":22899,"name":"coco-Gao","email":"419546439@qq.com","username":"Coco"},"change_message_id":"b04bacc61f09406d5f6e1ee2a4d1c6f2b3ff694b","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            # get the driver_dev_obj, diff the driver_device layer"},{"line_number":151,"context_line":"            new_driver_dev_obj \u003d new_driver_device_list[new_cpid_list.index(s)]"},{"line_number":152,"context_line":"            old_driver_dev_obj \u003d old_driver_device_list[old_cpid_list.index(s)]"},{"line_number":153,"context_line":"            dev_obj \u003d Device.get_list_by_hostname(context, host)[0]"},{"line_number":154,"context_line":"            cpid_id \u003d ControlpathID.get_list_by_device_id_cpidinfo(context,"},{"line_number":155,"context_line":"                                                                   dev_obj.id,"},{"line_number":156,"context_line":"                                                                   s)[0].id"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_93b9c9ea","line":153,"range":{"start_line":153,"start_character":12,"end_line":153,"end_character":67},"in_reply_to":"5fc1f717_9ab1d0e4","updated":"2019-03-21 14:42:49.000000000","message":"Fix the bug. get dev_obj by host \u0026 controlpath_id.","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"},{"author":{"_account_id":22899,"name":"coco-Gao","email":"419546439@qq.com","username":"Coco"},"change_message_id":"b04bacc61f09406d5f6e1ee2a4d1c6f2b3ff694b","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            # get the driver_dev_obj, diff the driver_device layer"},{"line_number":151,"context_line":"            new_driver_dev_obj \u003d new_driver_device_list[new_cpid_list.index(s)]"},{"line_number":152,"context_line":"            old_driver_dev_obj \u003d old_driver_device_list[old_cpid_list.index(s)]"},{"line_number":153,"context_line":"            dev_obj \u003d Device.get_list_by_hostname(context, host)[0]"},{"line_number":154,"context_line":"            cpid_id \u003d ControlpathID.get_list_by_device_id_cpidinfo(context,"},{"line_number":155,"context_line":"                                                                   dev_obj.id,"},{"line_number":156,"context_line":"                                                                   s)[0].id"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_33ced583","line":153,"range":{"start_line":153,"start_character":0,"end_line":153,"end_character":67},"in_reply_to":"5fc1f717_bf5ef6e3","updated":"2019-03-21 14:42:49.000000000","message":"fix the bug.","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"c92e22e548277f9be353ddc630d689e305a87879","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                                                   dev_obj.id,"},{"line_number":156,"context_line":"                                                                   s)[0].id"},{"line_number":157,"context_line":"            # TODO: changed_key is static?"},{"line_number":158,"context_line":"            changed_key \u003d [\u0027std_board_info\u0027, \u0027vendor\u0027, \u0027vendor_board_info\u0027,"},{"line_number":159,"context_line":"                           \u0027model\u0027]"},{"line_number":160,"context_line":"            for c_k in changed_key:"},{"line_number":161,"context_line":"                if getattr(new_driver_dev_obj, c_k) !\u003d getattr("},{"line_number":162,"context_line":"                        old_driver_dev_obj, c_k):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_fabc94bc","line":159,"range":{"start_line":158,"start_character":26,"end_line":159,"end_character":35},"updated":"2019-03-07 03:23:19.000000000","message":"You can reference to Device.fields for this list.","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"},{"author":{"_account_id":22899,"name":"coco-Gao","email":"419546439@qq.com","username":"Coco"},"change_message_id":"b04bacc61f09406d5f6e1ee2a4d1c6f2b3ff694b","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                                                   dev_obj.id,"},{"line_number":156,"context_line":"                                                                   s)[0].id"},{"line_number":157,"context_line":"            # TODO: changed_key is static?"},{"line_number":158,"context_line":"            changed_key \u003d [\u0027std_board_info\u0027, \u0027vendor\u0027, \u0027vendor_board_info\u0027,"},{"line_number":159,"context_line":"                           \u0027model\u0027]"},{"line_number":160,"context_line":"            for c_k in changed_key:"},{"line_number":161,"context_line":"                if getattr(new_driver_dev_obj, c_k) !\u003d getattr("},{"line_number":162,"context_line":"                        old_driver_dev_obj, c_k):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_336b3520","line":159,"range":{"start_line":158,"start_character":26,"end_line":159,"end_character":35},"in_reply_to":"5fc1f717_fabc94bc","updated":"2019-03-21 14:42:49.000000000","message":"Thx","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"5dfb26d9c6ba6d281e48d2028e8838f50aeea99c","unresolved":false,"context_lines":[{"line_number":193,"context_line":"            new_driver_dep_obj \u003d new_driver_dep_list[new_name_list.index(s)]"},{"line_number":194,"context_line":"            old_driver_dep_obj \u003d old_driver_dep_list[old_name_list.index(s)]"},{"line_number":195,"context_line":"            # get dep_obj"},{"line_number":196,"context_line":"            dep_obj \u003d Deployable.get_list_by_name(context, s)[0]"},{"line_number":197,"context_line":"            # update the driver_dep num_accelerators field"},{"line_number":198,"context_line":"            dep_obj.num_accelerators \u003d new_driver_dep_obj.num_accelerators"},{"line_number":199,"context_line":"            dep_obj.save(context)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_ffc0fe52","line":196,"range":{"start_line":196,"start_character":33,"end_line":196,"end_character":49},"updated":"2019-03-07 10:55:34.000000000","message":"if we set name unique, why should we return a list.","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"},{"author":{"_account_id":22899,"name":"coco-Gao","email":"419546439@qq.com","username":"Coco"},"change_message_id":"b04bacc61f09406d5f6e1ee2a4d1c6f2b3ff694b","unresolved":false,"context_lines":[{"line_number":193,"context_line":"            new_driver_dep_obj \u003d new_driver_dep_list[new_name_list.index(s)]"},{"line_number":194,"context_line":"            old_driver_dep_obj \u003d old_driver_dep_list[old_name_list.index(s)]"},{"line_number":195,"context_line":"            # get dep_obj"},{"line_number":196,"context_line":"            dep_obj \u003d Deployable.get_list_by_name(context, s)[0]"},{"line_number":197,"context_line":"            # update the driver_dep num_accelerators field"},{"line_number":198,"context_line":"            dep_obj.num_accelerators \u003d new_driver_dep_obj.num_accelerators"},{"line_number":199,"context_line":"            dep_obj.save(context)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_b393a500","line":196,"range":{"start_line":196,"start_character":33,"end_line":196,"end_character":49},"in_reply_to":"5fc1f717_ffc0fe52","updated":"2019-03-21 14:42:49.000000000","message":"as we discussed in the last meeting, the name field is host unique, but not global unique anymore. So I modified the function to get the exact one dep_obj.","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"c92e22e548277f9be353ddc630d689e305a87879","unresolved":false,"context_lines":[{"line_number":196,"context_line":"            dep_obj \u003d Deployable.get_list_by_name(context, s)[0]"},{"line_number":197,"context_line":"            # update the driver_dep num_accelerators field"},{"line_number":198,"context_line":"            dep_obj.num_accelerators \u003d new_driver_dep_obj.num_accelerators"},{"line_number":199,"context_line":"            dep_obj.save(context)"},{"line_number":200,"context_line":"            # diff the internal layer: driver_attribute_list"},{"line_number":201,"context_line":"            cls.attr_make_diff(context, dep_obj.id,"},{"line_number":202,"context_line":"                               old_driver_dep_obj.attribute_list,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_5ad048f8","line":199,"updated":"2019-03-07 03:23:19.000000000","message":"Do you need to also compare other fields in Deployable(e.g. \"name\")","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"},{"author":{"_account_id":22899,"name":"coco-Gao","email":"419546439@qq.com","username":"Coco"},"change_message_id":"b04bacc61f09406d5f6e1ee2a4d1c6f2b3ff694b","unresolved":false,"context_lines":[{"line_number":196,"context_line":"            dep_obj \u003d Deployable.get_list_by_name(context, s)[0]"},{"line_number":197,"context_line":"            # update the driver_dep num_accelerators field"},{"line_number":198,"context_line":"            dep_obj.num_accelerators \u003d new_driver_dep_obj.num_accelerators"},{"line_number":199,"context_line":"            dep_obj.save(context)"},{"line_number":200,"context_line":"            # diff the internal layer: driver_attribute_list"},{"line_number":201,"context_line":"            cls.attr_make_diff(context, dep_obj.id,"},{"line_number":202,"context_line":"                               old_driver_dep_obj.attribute_list,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_1355d91d","line":199,"in_reply_to":"5fc1f717_5ad048f8","updated":"2019-03-21 14:42:49.000000000","message":"I think we only diff driver_deployable fields. we make the diff, if exists, we then save the difference to DB. When manipulating the changed fields, we need to use the deployable object.","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"5dfb26d9c6ba6d281e48d2028e8838f50aeea99c","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            new_driver_ah_obj \u003d new_driver_ah_list[new_info_list.index(s)]"},{"line_number":259,"context_line":"            old_driver_ah_obj \u003d old_driver_ah_list[old_info_list.index(s)]"},{"line_number":260,"context_line":"            changed_key \u003d [\u0027in_use\u0027, \u0027attach_type\u0027]"},{"line_number":261,"context_line":"            ah_obj \u003d AttachHandle.get_ah_list_by_dep_info(context, dep_id,"},{"line_number":262,"context_line":"                                                          s)[0]"},{"line_number":263,"context_line":"            for c_k in changed_key:"},{"line_number":264,"context_line":"                if getattr(new_driver_ah_obj, c_k) !\u003d getattr("}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_ffa55eb6","line":261,"range":{"start_line":261,"start_character":34,"end_line":261,"end_character":57},"updated":"2019-03-07 10:55:34.000000000","message":"why only compare the first ah. It seems always the same question ;)","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"},{"author":{"_account_id":22899,"name":"coco-Gao","email":"419546439@qq.com","username":"Coco"},"change_message_id":"b04bacc61f09406d5f6e1ee2a4d1c6f2b3ff694b","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            new_driver_ah_obj \u003d new_driver_ah_list[new_info_list.index(s)]"},{"line_number":259,"context_line":"            old_driver_ah_obj \u003d old_driver_ah_list[old_info_list.index(s)]"},{"line_number":260,"context_line":"            changed_key \u003d [\u0027in_use\u0027, \u0027attach_type\u0027]"},{"line_number":261,"context_line":"            ah_obj \u003d AttachHandle.get_ah_list_by_dep_info(context, dep_id,"},{"line_number":262,"context_line":"                                                          s)[0]"},{"line_number":263,"context_line":"            for c_k in changed_key:"},{"line_number":264,"context_line":"                if getattr(new_driver_ah_obj, c_k) !\u003d getattr("}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_ae26d8b9","line":261,"range":{"start_line":261,"start_character":34,"end_line":261,"end_character":57},"in_reply_to":"5fc1f717_ffa55eb6","updated":"2019-03-21 14:42:49.000000000","message":"In this situation, only exist one value. I rename this function to make it more clear.","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"}],"cyborg/conductor/rpcapi.py":[{"author":{"_account_id":17813,"name":"wangzhh","email":"wzh_1993@126.com","username":"wangzhh"},"change_message_id":"5b93a307c39225a716969c178c4f6dbdb43fdf91","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        :parma context: request context."},{"line_number":151,"context_line":"        \"\"\""},{"line_number":152,"context_line":"        cctxt \u003d self.client.prepare(topic\u003dself.topic)"},{"line_number":153,"context_line":"        return cctxt.call(context, \u0027report_data\u0027,"},{"line_number":154,"context_line":"                          hostname\u003dhostname,"},{"line_number":155,"context_line":"                          driver_device_list\u003ddriver_device_list)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_826dde99","line":153,"updated":"2019-03-07 12:37:31.000000000","message":"cast\nJust report, we don\u0027t need return anything.","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"},{"author":{"_account_id":22899,"name":"coco-Gao","email":"419546439@qq.com","username":"Coco"},"change_message_id":"b04bacc61f09406d5f6e1ee2a4d1c6f2b3ff694b","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        :parma context: request context."},{"line_number":151,"context_line":"        \"\"\""},{"line_number":152,"context_line":"        cctxt \u003d self.client.prepare(topic\u003dself.topic)"},{"line_number":153,"context_line":"        return cctxt.call(context, \u0027report_data\u0027,"},{"line_number":154,"context_line":"                          hostname\u003dhostname,"},{"line_number":155,"context_line":"                          driver_device_list\u003ddriver_device_list)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_b3d08555","line":153,"in_reply_to":"5fc1f717_826dde99","updated":"2019-03-21 14:42:49.000000000","message":"remove return.","commit_id":"46496b705b41fbc598e90ea40ff1297ef10132eb"}]}
