)]}'
{"cyborg/accelerator/drivers/fake.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"6c69c6777fadf7bde267ff5005f0c596dd25d8e3","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"class FakeDriver(GenericDriver):"},{"line_number":11,"context_line":"    \"\"\"Base class for GPU drivers."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"       This is just a virtual GPU drivers interface."},{"line_number":14,"context_line":"       Vendor should implement their specific drivers."}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_b5b98c79","line":11,"range":{"start_line":11,"start_character":22,"end_line":11,"end_character":25},"updated":"2019-06-14 07:17:05.000000000","message":"Fake GPU","commit_id":"de3bdc4f5c13dbcbf8163682bb8a34e18656e818"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"6c69c6777fadf7bde267ff5005f0c596dd25d8e3","unresolved":false,"context_lines":[{"line_number":10,"context_line":"class FakeDriver(GenericDriver):"},{"line_number":11,"context_line":"    \"\"\"Base class for GPU drivers."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"       This is just a virtual GPU drivers interface."},{"line_number":14,"context_line":"       Vendor should implement their specific drivers."},{"line_number":15,"context_line":"    \"\"\""},{"line_number":16,"context_line":"    VENDOR \u003d \"fake\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_55b4d07f","line":13,"range":{"start_line":13,"start_character":22,"end_line":13,"end_character":33},"updated":"2019-06-14 07:17:05.000000000","message":"Fake GPU","commit_id":"de3bdc4f5c13dbcbf8163682bb8a34e18656e818"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"6c69c6777fadf7bde267ff5005f0c596dd25d8e3","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    \"\"\"Base class for GPU drivers."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"       This is just a virtual GPU drivers interface."},{"line_number":14,"context_line":"       Vendor should implement their specific drivers."},{"line_number":15,"context_line":"    \"\"\""},{"line_number":16,"context_line":"    VENDOR \u003d \"fake\""},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_15aad817","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":54},"updated":"2019-06-14 07:17:05.000000000","message":"remove","commit_id":"de3bdc4f5c13dbcbf8163682bb8a34e18656e818"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"eae5fe213f095d6aa04180f3d587ca6a87638ee0","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        npu_list \u003d []"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        pci_dict \u003d {"},{"line_number":42,"context_line":"            \u0027slot\u0027: \u00270000:0c:00.0\u0027,              # domain:bus:device.function"},{"line_number":43,"context_line":"            \u0027device\u0027: \u0027FakeDevice\u0027,              # Name of the device"},{"line_number":44,"context_line":"            \u0027vendor_id\u0027: \u0027fake\u0027,                 # ID of the vendor"},{"line_number":45,"context_line":"            \u0027class\u0027: \u0027Fake class\u0027,               # Name of the class"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_06dafd49","line":42,"range":{"start_line":42,"start_character":12,"end_line":42,"end_character":34},"updated":"2019-06-26 01:14:19.000000000","message":"Must be a JSON string like \u0027{\"domain\": ..., \"slot\": ..,  }\u0027","commit_id":"081b7bb40ec275ec3ed3c4a376685ad7a08136e2"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"a60a98f916851667ab61dd76782292fa2ef180a3","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        npu_list \u003d []"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        pci_dict \u003d {"},{"line_number":42,"context_line":"            \u0027slot\u0027: \u00270000:0c:00.0\u0027,              # domain:bus:device.function"},{"line_number":43,"context_line":"            \u0027device\u0027: \u0027FakeDevice\u0027,              # Name of the device"},{"line_number":44,"context_line":"            \u0027vendor_id\u0027: \u0027fake\u0027,                 # ID of the vendor"},{"line_number":45,"context_line":"            \u0027class\u0027: \u0027Fake class\u0027,               # Name of the class"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_cfbd91d8","line":42,"range":{"start_line":42,"start_character":12,"end_line":42,"end_character":34},"in_reply_to":"9fb8cfa7_06dafd49","updated":"2019-07-01 03:19:36.000000000","message":"Could you give a complete example for it?\n\nit would be used in driver_cpid.cpid_info、driver_ah.attach_info、driver_dep.name \u003d pci.get(\u0027device\u0027, \u0027\u0027) + \u0027_\u0027 + pci[\"slot\"].\n\nand I didn\u0027t see this design mentioned in somewhere, and the current FPGA and GPU also use this address, so I use it in this patch.","commit_id":"081b7bb40ec275ec3ed3c4a376685ad7a08136e2"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"5aa88755b1e88b2c82d0d31941b79cde4ceb3188","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        npu_list \u003d []"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        pci_dict \u003d {"},{"line_number":42,"context_line":"            \u0027slot\u0027: \u00270000:0c:00.0\u0027,              # domain:bus:device.function"},{"line_number":43,"context_line":"            \u0027device\u0027: \u0027FakeDevice\u0027,              # Name of the device"},{"line_number":44,"context_line":"            \u0027vendor_id\u0027: \u0027fake\u0027,                 # ID of the vendor"},{"line_number":45,"context_line":"            \u0027class\u0027: \u0027Fake class\u0027,               # Name of the class"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_1f6e4e96","line":42,"range":{"start_line":42,"start_character":12,"end_line":42,"end_character":34},"in_reply_to":"9fb8cfa7_29fd246e","updated":"2019-07-03 06:22:54.000000000","message":"Done","commit_id":"081b7bb40ec275ec3ed3c4a376685ad7a08136e2"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"232e645ba161c8db46d0fceea3ad7df197ab9c89","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        npu_list \u003d []"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        pci_dict \u003d {"},{"line_number":42,"context_line":"            \u0027slot\u0027: \u00270000:0c:00.0\u0027,              # domain:bus:device.function"},{"line_number":43,"context_line":"            \u0027device\u0027: \u0027FakeDevice\u0027,              # Name of the device"},{"line_number":44,"context_line":"            \u0027vendor_id\u0027: \u0027fake\u0027,                 # ID of the vendor"},{"line_number":45,"context_line":"            \u0027class\u0027: \u0027Fake class\u0027,               # Name of the class"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_29fd246e","line":42,"range":{"start_line":42,"start_character":12,"end_line":42,"end_character":34},"in_reply_to":"9fb8cfa7_cfbd91d8","updated":"2019-07-03 03:27:55.000000000","message":"E.g. { \"domain\": \"0\", \"bus\": \"1\", \"device\": \"0\", \"function\": \"0\" }\n\nPlease see:\n\nhttps://review.opendev.org/gitweb?p\u003dopenstack/cyborg.git;f\u003dnova-integ/demo_setup.sh;hb\u003drefs/changes/20/626420/24#l80","commit_id":"081b7bb40ec275ec3ed3c4a376685ad7a08136e2"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"278f4eccdba63666d9bce0b7a79d89c43175a1a6","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    \"\"\""},{"line_number":15,"context_line":"    VENDOR \u003d \"fake\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"    def _generate_controlpath_id(self, pci):"},{"line_number":18,"context_line":"        driver_cpid \u003d driver_controlpath_id.DriverControlPathID()"},{"line_number":19,"context_line":"        driver_cpid.cpid_type \u003d \"PCI\""},{"line_number":20,"context_line":"        driver_cpid.cpid_info \u003d pci[\"slot\"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_fd46dd4f","line":17,"updated":"2019-07-04 13:24:03.000000000","message":"These _generate functions are being used by many drivers. Can we move them to generic driver?","commit_id":"15643de70f4906111b0a4af767c2a6c0dcd87e8c"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"d7da9c6bf120f5e587c1f2cad11120ed749b1251","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    \"\"\""},{"line_number":15,"context_line":"    VENDOR \u003d \"fake\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"    def _generate_controlpath_id(self, pci):"},{"line_number":18,"context_line":"        driver_cpid \u003d driver_controlpath_id.DriverControlPathID()"},{"line_number":19,"context_line":"        driver_cpid.cpid_type \u003d \"PCI\""},{"line_number":20,"context_line":"        driver_cpid.cpid_info \u003d pci[\"slot\"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_769f5150","line":17,"in_reply_to":"7faddb67_fd46dd4f","updated":"2019-07-08 01:44:45.000000000","message":"These are only used in PCI related driver, So I prefer move these method into a class like PCIDriver in future. But this patch keep the function left.","commit_id":"15643de70f4906111b0a4af767c2a6c0dcd87e8c"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"017ed12355f2a428eef5fc37d8d5c6ed6f965e7f","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            \u0027revision\u0027: \u002720\u0027                     # Revision number"},{"line_number":61,"context_line":"        }"},{"line_number":62,"context_line":"        device \u003d driver_device.DriverDevice()"},{"line_number":63,"context_line":"        device.vendor \u003d pci_dict[\"vendor_id\"] "},{"line_number":64,"context_line":"        device.model \u003d pci_dict.get(\u0027model\u0027, \u0027miss model info\u0027)"},{"line_number":65,"context_line":"        std_board_info \u003d {\u0027device_id\u0027: pci_dict.get(\u0027device_id\u0027, None),"},{"line_number":66,"context_line":"                          \u0027class\u0027: pci_dict.get(\u0027class\u0027, None)}"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_960bed7b","line":63,"updated":"2019-08-09 08:07:59.000000000","message":"Minor: Fix the space.","commit_id":"65607fe9aafa1053a8b496b8148631ba83021bd1"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"cef7a102bbb0a81ea34fa287fdca5ce13adcde29","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            \u0027revision\u0027: \u002720\u0027                     # Revision number"},{"line_number":61,"context_line":"        }"},{"line_number":62,"context_line":"        device \u003d driver_device.DriverDevice()"},{"line_number":63,"context_line":"        device.vendor \u003d pci_dict[\"vendor_id\"] "},{"line_number":64,"context_line":"        device.model \u003d pci_dict.get(\u0027model\u0027, \u0027miss model info\u0027)"},{"line_number":65,"context_line":"        std_board_info \u003d {\u0027device_id\u0027: pci_dict.get(\u0027device_id\u0027, None),"},{"line_number":66,"context_line":"                          \u0027class\u0027: pci_dict.get(\u0027class\u0027, None)}"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_3629d99a","line":63,"in_reply_to":"7faddb67_960bed7b","updated":"2019-08-09 08:25:21.000000000","message":"Done","commit_id":"65607fe9aafa1053a8b496b8148631ba83021bd1"}],"cyborg/agent/rc_fields.py":[{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"6bb21021394b2dc4fef63ab4c1458c8730a5567a","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    IPV4_ADDRESS \u003d \u0027IPV4_ADDRESS\u0027"},{"line_number":42,"context_line":"    VGPU \u003d \u0027VGPU\u0027"},{"line_number":43,"context_line":"    VGPU_DISPLAY_HEAD \u003d \u0027VGPU_DISPLAY_HEAD\u0027"},{"line_number":44,"context_line":"    FPGA \u003d \u0027ACCELERATOR_FPGA\u0027"},{"line_number":45,"context_line":"    FAKE \u003d \u0027ACCELERATOR_FAKE\u0027"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    # The ordering here is relevant. If you must add a value, only"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_796b731d","line":44,"range":{"start_line":44,"start_character":11,"end_line":44,"end_character":29},"updated":"2019-07-11 22:44:23.000000000","message":"The proposed RC name is just \u0027FPGA\u0027, not \u0027ACCELERATOR_FPGA\u0027 [1]. I understand that is not being changed here. But we need to make the change in the generic driver perhaps.\n\n[1] https://review.opendev.org/#/c/657464/","commit_id":"6553c510bfabaaf74a3cd191843342e36ce82738"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"6bb21021394b2dc4fef63ab4c1458c8730a5567a","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    VGPU \u003d \u0027VGPU\u0027"},{"line_number":43,"context_line":"    VGPU_DISPLAY_HEAD \u003d \u0027VGPU_DISPLAY_HEAD\u0027"},{"line_number":44,"context_line":"    FPGA \u003d \u0027ACCELERATOR_FPGA\u0027"},{"line_number":45,"context_line":"    FAKE \u003d \u0027ACCELERATOR_FAKE\u0027"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    # The ordering here is relevant. If you must add a value, only"},{"line_number":48,"context_line":"    # append."}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_394adbab","line":45,"updated":"2019-07-11 22:44:23.000000000","message":"Why do we need a fake RC? Even with the fake driver, we could publish FPGA as RC, and request the same in device profiles.","commit_id":"6553c510bfabaaf74a3cd191843342e36ce82738"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"d36a4fa65895a7e3cf37e2b0fbe54766f2c028ef","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    IPV4_ADDRESS \u003d \u0027IPV4_ADDRESS\u0027"},{"line_number":42,"context_line":"    VGPU \u003d \u0027VGPU\u0027"},{"line_number":43,"context_line":"    VGPU_DISPLAY_HEAD \u003d \u0027VGPU_DISPLAY_HEAD\u0027"},{"line_number":44,"context_line":"    FPGA \u003d \u0027ACCELERATOR_FPGA\u0027"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    # The ordering here is relevant. If you must add a value, only"},{"line_number":47,"context_line":"    # append."}],"source_content_type":"text/x-python","patch_set":9,"id":"7faddb67_6c098b93","line":44,"updated":"2019-07-27 20:30:29.000000000","message":"Since https://review.opendev.org/#/c/657464/ has merged, we should just pull the standard names from os-resource-classes.","commit_id":"30963cd840c7332b10963ba81c9760cf3f554236"}]}
