)]}'
{"cyborg/tests/unit/db/utils.py":[{"author":{"_account_id":22899,"name":"coco-Gao","email":"419546439@qq.com","username":"Coco"},"change_message_id":"c0e343cbd6a3b0de27d4595cee2dc6eeb1a6b73f","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \u0027device_id\u0027: kw.get(\u0027device_id\u0027, 1),"},{"line_number":104,"context_line":"        \u0027cpid_type\u0027: kw.get(\u0027cpid_type\u0027, \"PCI\"),"},{"line_number":105,"context_line":"        \u0027cpid_info\u0027: kw.get(\u0027cpid_info\u0027,"},{"line_number":106,"context_line":"                            \u0027{\"device\": \"2\", \"bus\": \"00\", \"function\": \"01\"}\u0027),"},{"line_number":107,"context_line":"        \u0027created_at\u0027: kw.get(\u0027create_at\u0027, None),"},{"line_number":108,"context_line":"        \u0027updated_at\u0027: kw.get(\u0027updated_at\u0027, None),"},{"line_number":109,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_9504517d","line":106,"range":{"start_line":106,"start_character":27,"end_line":106,"end_character":77},"updated":"2019-05-19 02:38:13.000000000","message":"Right now, this field is only pci_address, is only a string, not a json type, why we need serialization?","commit_id":"7377065782fdaf5b0ca97556e909219c59ada8fe"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"a7e214ba73e91cea6eec2e7dad23f41e7148349b","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \u0027device_id\u0027: kw.get(\u0027device_id\u0027, 1),"},{"line_number":104,"context_line":"        \u0027cpid_type\u0027: kw.get(\u0027cpid_type\u0027, \"PCI\"),"},{"line_number":105,"context_line":"        \u0027cpid_info\u0027: kw.get(\u0027cpid_info\u0027,"},{"line_number":106,"context_line":"                            \u0027{\"device\": \"2\", \"bus\": \"00\", \"function\": \"01\"}\u0027),"},{"line_number":107,"context_line":"        \u0027created_at\u0027: kw.get(\u0027create_at\u0027, None),"},{"line_number":108,"context_line":"        \u0027updated_at\u0027: kw.get(\u0027updated_at\u0027, None),"},{"line_number":109,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_dbe6704b","line":106,"range":{"start_line":106,"start_character":27,"end_line":106,"end_character":77},"in_reply_to":"7faddb67_2519a121","updated":"2019-08-09 06:24:51.000000000","message":"Done","commit_id":"7377065782fdaf5b0ca97556e909219c59ada8fe"},{"author":{"_account_id":17813,"name":"wangzhh","email":"wzh_1993@126.com","username":"wangzhh"},"change_message_id":"3a238bc79d044f6b477ed563d0b562365c0c4c0b","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \u0027device_id\u0027: kw.get(\u0027device_id\u0027, 1),"},{"line_number":104,"context_line":"        \u0027cpid_type\u0027: kw.get(\u0027cpid_type\u0027, \"PCI\"),"},{"line_number":105,"context_line":"        \u0027cpid_info\u0027: kw.get(\u0027cpid_info\u0027,"},{"line_number":106,"context_line":"                            \u0027{\"device\": \"2\", \"bus\": \"00\", \"function\": \"01\"}\u0027),"},{"line_number":107,"context_line":"        \u0027created_at\u0027: kw.get(\u0027create_at\u0027, None),"},{"line_number":108,"context_line":"        \u0027updated_at\u0027: kw.get(\u0027updated_at\u0027, None),"},{"line_number":109,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_2519a121","line":106,"range":{"start_line":106,"start_character":27,"end_line":106,"end_character":77},"in_reply_to":"bfb3d3c7_06de2fd9","updated":"2019-08-09 03:33:47.000000000","message":"We do need domain here. \nIf there are two devices like:\n{\"device\": \"2\", \"bus\": \"00\", \"function\": \"01\", \"domain\": \"0000\"}\n{\"device\": \"2\", \"bus\": \"00\", \"function\": \"01\", \"domain\": \"0001\"}\nthe cpid_info will conflict if we don\u0027t have the domain field.","commit_id":"7377065782fdaf5b0ca97556e909219c59ada8fe"},{"author":{"_account_id":17813,"name":"wangzhh","email":"wzh_1993@126.com","username":"wangzhh"},"change_message_id":"a2bc37b3ec383c211d5d89ad0614b4db0ca0de1b","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \u0027device_id\u0027: kw.get(\u0027device_id\u0027, 1),"},{"line_number":104,"context_line":"        \u0027cpid_type\u0027: kw.get(\u0027cpid_type\u0027, \"PCI\"),"},{"line_number":105,"context_line":"        \u0027cpid_info\u0027: kw.get(\u0027cpid_info\u0027,"},{"line_number":106,"context_line":"                            \u0027{\"device\": \"2\", \"bus\": \"00\", \"function\": \"01\"}\u0027),"},{"line_number":107,"context_line":"        \u0027created_at\u0027: kw.get(\u0027create_at\u0027, None),"},{"line_number":108,"context_line":"        \u0027updated_at\u0027: kw.get(\u0027updated_at\u0027, None),"},{"line_number":109,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_647d6e1b","line":106,"range":{"start_line":106,"start_character":27,"end_line":106,"end_character":77},"in_reply_to":"bfb3d3c7_44186a1c","updated":"2019-05-20 03:01:34.000000000","message":"https://github.com/openstack/cyborg/blob/0bc8ca656288a49bd217f6a1515ba68ff767b737/cyborg/objects/driver_objects/driver_controlpath_id.py#L31 \nThe cpid_info is just a string as driver ovo implementation. It is a PCI address in GPU driver now.\nBesides, if u convert it as a json_str, do we need the key-domain? (Use \u0027lspci -D\u0027, u can see the return value looks like 0000:00:05.0, the first 4 is domain.)","commit_id":"7377065782fdaf5b0ca97556e909219c59ada8fe"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"ea1c278086a2d858a4bd2fa024a15d423f4f9b54","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \u0027device_id\u0027: kw.get(\u0027device_id\u0027, 1),"},{"line_number":104,"context_line":"        \u0027cpid_type\u0027: kw.get(\u0027cpid_type\u0027, \"PCI\"),"},{"line_number":105,"context_line":"        \u0027cpid_info\u0027: kw.get(\u0027cpid_info\u0027,"},{"line_number":106,"context_line":"                            \u0027{\"device\": \"2\", \"bus\": \"00\", \"function\": \"01\"}\u0027),"},{"line_number":107,"context_line":"        \u0027created_at\u0027: kw.get(\u0027create_at\u0027, None),"},{"line_number":108,"context_line":"        \u0027updated_at\u0027: kw.get(\u0027updated_at\u0027, None),"},{"line_number":109,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_a223efbc","line":106,"range":{"start_line":106,"start_character":27,"end_line":106,"end_character":77},"in_reply_to":"bfb3d3c7_647d6e1b","updated":"2019-05-24 15:10:42.000000000","message":"\u003e do we need the key-domain?\nIf we add the domain as another field here, are we all ok with the change?","commit_id":"7377065782fdaf5b0ca97556e909219c59ada8fe"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"d5dce48276ff24cfed639e5899c6ae6ae694f9f0","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \u0027device_id\u0027: kw.get(\u0027device_id\u0027, 1),"},{"line_number":104,"context_line":"        \u0027cpid_type\u0027: kw.get(\u0027cpid_type\u0027, \"PCI\"),"},{"line_number":105,"context_line":"        \u0027cpid_info\u0027: kw.get(\u0027cpid_info\u0027,"},{"line_number":106,"context_line":"                            \u0027{\"device\": \"2\", \"bus\": \"00\", \"function\": \"01\"}\u0027),"},{"line_number":107,"context_line":"        \u0027created_at\u0027: kw.get(\u0027create_at\u0027, None),"},{"line_number":108,"context_line":"        \u0027updated_at\u0027: kw.get(\u0027updated_at\u0027, None),"},{"line_number":109,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_6ae445ad","line":106,"range":{"start_line":106,"start_character":27,"end_line":106,"end_character":77},"in_reply_to":"bfb3d3c7_647d6e1b","updated":"2019-05-20 22:43:14.000000000","message":"We keep cpid_info as a string with a JSON syntax in the db. This patch converts that to a Python dictionary before including it in API output. Nova developers have given similar comments for attach_id and device profiles also. I fixed it for device profiles only.","commit_id":"7377065782fdaf5b0ca97556e909219c59ada8fe"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"93feb74a03cb3e591d35e4ea55df767b5740e589","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \u0027device_id\u0027: kw.get(\u0027device_id\u0027, 1),"},{"line_number":104,"context_line":"        \u0027cpid_type\u0027: kw.get(\u0027cpid_type\u0027, \"PCI\"),"},{"line_number":105,"context_line":"        \u0027cpid_info\u0027: kw.get(\u0027cpid_info\u0027,"},{"line_number":106,"context_line":"                            \u0027{\"device\": \"2\", \"bus\": \"00\", \"function\": \"01\"}\u0027),"},{"line_number":107,"context_line":"        \u0027created_at\u0027: kw.get(\u0027create_at\u0027, None),"},{"line_number":108,"context_line":"        \u0027updated_at\u0027: kw.get(\u0027updated_at\u0027, None),"},{"line_number":109,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_c42c5a49","line":106,"range":{"start_line":106,"start_character":27,"end_line":106,"end_character":77},"in_reply_to":"bfb3d3c7_9504517d","updated":"2019-05-20 02:38:32.000000000","message":"This patch came from here:\nhttps://review.opendev.org/#/c/626057/10/cyborg/accelerator/drivers/fpga/intel/driver.py@79","commit_id":"7377065782fdaf5b0ca97556e909219c59ada8fe"},{"author":{"_account_id":17813,"name":"wangzhh","email":"wzh_1993@126.com","username":"wangzhh"},"change_message_id":"8df3b66abff7c41aa1c0ae3be6523b719430a67e","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \u0027device_id\u0027: kw.get(\u0027device_id\u0027, 1),"},{"line_number":104,"context_line":"        \u0027cpid_type\u0027: kw.get(\u0027cpid_type\u0027, \"PCI\"),"},{"line_number":105,"context_line":"        \u0027cpid_info\u0027: kw.get(\u0027cpid_info\u0027,"},{"line_number":106,"context_line":"                            \u0027{\"device\": \"2\", \"bus\": \"00\", \"function\": \"01\"}\u0027),"},{"line_number":107,"context_line":"        \u0027created_at\u0027: kw.get(\u0027create_at\u0027, None),"},{"line_number":108,"context_line":"        \u0027updated_at\u0027: kw.get(\u0027updated_at\u0027, None),"},{"line_number":109,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_06de2fd9","line":106,"range":{"start_line":106,"start_character":27,"end_line":106,"end_character":77},"in_reply_to":"bfb3d3c7_a223efbc","updated":"2019-05-31 01:04:52.000000000","message":"Yes, Plz look at my GPU driver patch. https://review.opendev.org/#/c/574075/ \nsean mooney\u0027s comments on Aug 30, 2018.","commit_id":"7377065782fdaf5b0ca97556e909219c59ada8fe"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"01a5d93cbeafba27848f851b2f7ec0df8ba57f2f","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        \u0027device_id\u0027: kw.get(\u0027device_id\u0027, 1),"},{"line_number":104,"context_line":"        \u0027cpid_type\u0027: kw.get(\u0027cpid_type\u0027, \"PCI\"),"},{"line_number":105,"context_line":"        \u0027cpid_info\u0027: kw.get(\u0027cpid_info\u0027,"},{"line_number":106,"context_line":"                            \u0027{\"device\": \"2\", \"bus\": \"00\", \"function\": \"01\"}\u0027),"},{"line_number":107,"context_line":"        \u0027created_at\u0027: kw.get(\u0027create_at\u0027, None),"},{"line_number":108,"context_line":"        \u0027updated_at\u0027: kw.get(\u0027updated_at\u0027, None),"},{"line_number":109,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_44186a1c","line":106,"range":{"start_line":106,"start_character":27,"end_line":106,"end_character":77},"in_reply_to":"bfb3d3c7_c42c5a49","updated":"2019-05-20 02:39:42.000000000","message":"And I think the cpid_info is a json_str under current implementation.","commit_id":"7377065782fdaf5b0ca97556e909219c59ada8fe"}]}
