)]}'
{"nova/tests/unit/virt/test_block_device.py":[{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"41716cc4935cdf1723bc122a89bb879cba48a7c2","unresolved":false,"context_lines":[{"line_number":845,"context_line":"    def test_snapshot_attach_no_volume(self):"},{"line_number":846,"context_line":"        no_volume_snapshot \u003d self.volsnapshot_bdm_dict.copy()"},{"line_number":847,"context_line":"        no_volume_snapshot[\u0027volume_id\u0027] \u003d None"},{"line_number":848,"context_line":"        no_volume_snapshot[\u0027boot_index\u0027] \u003d 0"},{"line_number":849,"context_line":"        test_bdm \u003d self.driver_classes[\u0027volsnapshot\u0027]("},{"line_number":850,"context_line":"                fake_block_device.fake_bdm_object("},{"line_number":851,"context_line":"                        self.context, no_volume_snapshot))"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_6e44751c","line":848,"range":{"start_line":848,"start_character":8,"end_line":848,"end_character":44},"updated":"2019-06-18 02:17:48.000000000","message":"Please consider to add a unit test that with default volsnapshot_bdm_dict, we can test create with the name as\n\"disk-vol\".","commit_id":"c5a59fe507072517597239f918b5939809e5e699"},{"author":{"_account_id":30469,"name":"guangchao.pan","email":"guangchao.pan@easystack.cn","username":"guangchao.pan"},"change_message_id":"6fcfbf8167f6f2adfac8cdbf9582637a1f65133e","unresolved":false,"context_lines":[{"line_number":845,"context_line":"    def test_snapshot_attach_no_volume(self):"},{"line_number":846,"context_line":"        no_volume_snapshot \u003d self.volsnapshot_bdm_dict.copy()"},{"line_number":847,"context_line":"        no_volume_snapshot[\u0027volume_id\u0027] \u003d None"},{"line_number":848,"context_line":"        no_volume_snapshot[\u0027boot_index\u0027] \u003d 0"},{"line_number":849,"context_line":"        test_bdm \u003d self.driver_classes[\u0027volsnapshot\u0027]("},{"line_number":850,"context_line":"                fake_block_device.fake_bdm_object("},{"line_number":851,"context_line":"                        self.context, no_volume_snapshot))"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_2c8c127e","line":848,"range":{"start_line":848,"start_character":8,"end_line":848,"end_character":44},"in_reply_to":"9fb8cfa7_6e44751c","updated":"2019-06-20 11:29:12.000000000","message":"Done","commit_id":"c5a59fe507072517597239f918b5939809e5e699"}],"nova/virt/block_device.py":[{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"2a9b7d7b2c35b1b675937b50c4f5eac57d7b4548","unresolved":false,"context_lines":[{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        if not self.volume_id:"},{"line_number":722,"context_line":"            if re.match(\u0027/dev/(x?v|s|h)da$\u0027, self[\u0027mount_device\u0027]):"},{"line_number":723,"context_line":"                vol_name \u003d \u0027Root Disk for \u0027 + str(instance.display_name)"},{"line_number":724,"context_line":"            else:"},{"line_number":725,"context_line":"                vol_name \u003d \u0027Data Disk for \u0027 + str(instance.display_name)"},{"line_number":726,"context_line":"            av_zone \u003d _get_volume_create_az_value(instance)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_fbc069e3","line":723,"range":{"start_line":723,"start_character":50,"end_line":723,"end_character":71},"updated":"2019-05-30 03:30:51.000000000","message":"instance display_name seems not unique, we can get same volume name if two instances\u0027 display_name are the same.\nHow about use uuid here?","commit_id":"91d9f06a55e4d6e1ffa3b7c883ee72d39c830e9c"},{"author":{"_account_id":30469,"name":"guangchao.pan","email":"guangchao.pan@easystack.cn","username":"guangchao.pan"},"change_message_id":"b997c1369063f44550171e281c57d1d5f0b4892e","unresolved":false,"context_lines":[{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        if not self.volume_id:"},{"line_number":722,"context_line":"            if re.match(\u0027/dev/(x?v|s|h)da$\u0027, self[\u0027mount_device\u0027]):"},{"line_number":723,"context_line":"                vol_name \u003d \u0027Root Disk for \u0027 + str(instance.display_name)"},{"line_number":724,"context_line":"            else:"},{"line_number":725,"context_line":"                vol_name \u003d \u0027Data Disk for \u0027 + str(instance.display_name)"},{"line_number":726,"context_line":"            av_zone \u003d _get_volume_create_az_value(instance)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_662700cc","line":723,"range":{"start_line":723,"start_character":50,"end_line":723,"end_character":71},"in_reply_to":"bfb3d3c7_fbc069e3","updated":"2019-05-30 05:58:33.000000000","message":"This is a good idea, but I have to modify it later.","commit_id":"91d9f06a55e4d6e1ffa3b7c883ee72d39c830e9c"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5c857339fb24439a60e836c586298976f77a13d2","unresolved":false,"context_lines":[{"line_number":719,"context_line":"               virt_driver, wait_func\u003dNone):"},{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        if not self.volume_id:"},{"line_number":722,"context_line":"            if re.match(\u0027/dev/(x?v|s|h)da$\u0027, self[\u0027mount_device\u0027]):"},{"line_number":723,"context_line":"                vol_name \u003d \u0027Root Disk for \u0027 + str(instance.display_name)"},{"line_number":724,"context_line":"            else:"},{"line_number":725,"context_line":"                vol_name \u003d \u0027Data Disk for \u0027 + str(instance.display_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bfb3d3c7_c1a01645","line":722,"range":{"start_line":722,"start_character":0,"end_line":722,"end_character":67},"updated":"2019-05-30 07:16:34.000000000","message":"I\u0027d rather use boot_index here instead of guessing based on mount_device.","commit_id":"0ac6f6d30c0433eeeb4fdb068cd0ae6d40fe03f9"},{"author":{"_account_id":30469,"name":"guangchao.pan","email":"guangchao.pan@easystack.cn","username":"guangchao.pan"},"change_message_id":"d4f2ac3d223e26cf0da5bd698f015efca234c107","unresolved":false,"context_lines":[{"line_number":719,"context_line":"               virt_driver, wait_func\u003dNone):"},{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        if not self.volume_id:"},{"line_number":722,"context_line":"            if re.match(\u0027/dev/(x?v|s|h)da$\u0027, self[\u0027mount_device\u0027]):"},{"line_number":723,"context_line":"                vol_name \u003d \u0027Root Disk for \u0027 + str(instance.display_name)"},{"line_number":724,"context_line":"            else:"},{"line_number":725,"context_line":"                vol_name \u003d \u0027Data Disk for \u0027 + str(instance.display_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fb8cfa7_36bb4673","line":722,"range":{"start_line":722,"start_character":0,"end_line":722,"end_character":67},"in_reply_to":"bfb3d3c7_c1a01645","updated":"2019-06-17 08:35:10.000000000","message":"Done","commit_id":"0ac6f6d30c0433eeeb4fdb068cd0ae6d40fe03f9"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5c857339fb24439a60e836c586298976f77a13d2","unresolved":false,"context_lines":[{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        if not self.volume_id:"},{"line_number":722,"context_line":"            if re.match(\u0027/dev/(x?v|s|h)da$\u0027, self[\u0027mount_device\u0027]):"},{"line_number":723,"context_line":"                vol_name \u003d \u0027Root Disk for \u0027 + str(instance.display_name)"},{"line_number":724,"context_line":"            else:"},{"line_number":725,"context_line":"                vol_name \u003d \u0027Data Disk for \u0027 + str(instance.display_name)"},{"line_number":726,"context_line":"            av_zone \u003d _get_volume_create_az_value(instance)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bfb3d3c7_81869eb8","line":723,"range":{"start_line":723,"start_character":46,"end_line":723,"end_character":72},"updated":"2019-05-30 07:16:34.000000000","message":"As suggested elsewhere I would rather we used instance.uuid.","commit_id":"0ac6f6d30c0433eeeb4fdb068cd0ae6d40fe03f9"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"5c857339fb24439a60e836c586298976f77a13d2","unresolved":false,"context_lines":[{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        if not self.volume_id:"},{"line_number":722,"context_line":"            if re.match(\u0027/dev/(x?v|s|h)da$\u0027, self[\u0027mount_device\u0027]):"},{"line_number":723,"context_line":"                vol_name \u003d \u0027Root Disk for \u0027 + str(instance.display_name)"},{"line_number":724,"context_line":"            else:"},{"line_number":725,"context_line":"                vol_name \u003d \u0027Data Disk for \u0027 + str(instance.display_name)"},{"line_number":726,"context_line":"            av_zone \u003d _get_volume_create_az_value(instance)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bfb3d3c7_a1b64289","line":723,"range":{"start_line":723,"start_character":27,"end_line":723,"end_character":72},"updated":"2019-05-30 07:16:34.000000000","message":"Would it also be useful to make these configurable/translatable somehow?","commit_id":"0ac6f6d30c0433eeeb4fdb068cd0ae6d40fe03f9"},{"author":{"_account_id":30469,"name":"guangchao.pan","email":"guangchao.pan@easystack.cn","username":"guangchao.pan"},"change_message_id":"d4f2ac3d223e26cf0da5bd698f015efca234c107","unresolved":false,"context_lines":[{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        if not self.volume_id:"},{"line_number":722,"context_line":"            if re.match(\u0027/dev/(x?v|s|h)da$\u0027, self[\u0027mount_device\u0027]):"},{"line_number":723,"context_line":"                vol_name \u003d \u0027Root Disk for \u0027 + str(instance.display_name)"},{"line_number":724,"context_line":"            else:"},{"line_number":725,"context_line":"                vol_name \u003d \u0027Data Disk for \u0027 + str(instance.display_name)"},{"line_number":726,"context_line":"            av_zone \u003d _get_volume_create_az_value(instance)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fb8cfa7_d6af4a29","line":723,"range":{"start_line":723,"start_character":46,"end_line":723,"end_character":72},"in_reply_to":"bfb3d3c7_81869eb8","updated":"2019-06-17 08:35:10.000000000","message":"Done","commit_id":"0ac6f6d30c0433eeeb4fdb068cd0ae6d40fe03f9"},{"author":{"_account_id":30469,"name":"guangchao.pan","email":"guangchao.pan@easystack.cn","username":"guangchao.pan"},"change_message_id":"d4f2ac3d223e26cf0da5bd698f015efca234c107","unresolved":false,"context_lines":[{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        if not self.volume_id:"},{"line_number":722,"context_line":"            if re.match(\u0027/dev/(x?v|s|h)da$\u0027, self[\u0027mount_device\u0027]):"},{"line_number":723,"context_line":"                vol_name \u003d \u0027Root Disk for \u0027 + str(instance.display_name)"},{"line_number":724,"context_line":"            else:"},{"line_number":725,"context_line":"                vol_name \u003d \u0027Data Disk for \u0027 + str(instance.display_name)"},{"line_number":726,"context_line":"            av_zone \u003d _get_volume_create_az_value(instance)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fb8cfa7_b67bb6bc","line":723,"range":{"start_line":723,"start_character":27,"end_line":723,"end_character":72},"in_reply_to":"bfb3d3c7_a1b64289","updated":"2019-06-17 08:35:10.000000000","message":"I think it would be easier to understand when writing a fixed one, and avoid changing the name in different environments to make it unrecognizable.","commit_id":"0ac6f6d30c0433eeeb4fdb068cd0ae6d40fe03f9"},{"author":{"_account_id":23676,"name":"zhangyujun","email":"yujun.zhang@easystack.cn","username":"zhangyujun"},"change_message_id":"152d4faba1bc925bb01e4e142750e7b4549dc65a","unresolved":false,"context_lines":[{"line_number":750,"context_line":"               virt_driver, wait_func\u003dNone):"},{"line_number":751,"context_line":"        if not self.volume_id:"},{"line_number":752,"context_line":"            av_zone \u003d _get_volume_create_az_value(instance)"},{"line_number":753,"context_line":"            vol \u003d volume_api.create(context, self.volume_size,"},{"line_number":754,"context_line":"                                    \u0027\u0027, \u0027\u0027, image_id\u003dself.image_id,"},{"line_number":755,"context_line":"                                    volume_type\u003dself.volume_type,"},{"line_number":756,"context_line":"                                    availability_zone\u003dav_zone)"},{"line_number":757,"context_line":"            if wait_func:"},{"line_number":758,"context_line":"                self._call_wait_func(context, wait_func, volume_api, vol[\u0027id\u0027])"},{"line_number":759,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9fb8cfa7_d43c7494","line":756,"range":{"start_line":753,"start_character":12,"end_line":756,"end_character":62},"updated":"2019-06-27 06:07:38.000000000","message":"need pass the instance.uuid + \u0027-system-vol\u0027 volume name here?","commit_id":"0cac951eebdb174d9bc21b8ab84cd84c9dce11da"},{"author":{"_account_id":30469,"name":"guangchao.pan","email":"guangchao.pan@easystack.cn","username":"guangchao.pan"},"change_message_id":"781f340b2c81bb5d9b78314bcfe4c19ccd7f2996","unresolved":false,"context_lines":[{"line_number":750,"context_line":"               virt_driver, wait_func\u003dNone):"},{"line_number":751,"context_line":"        if not self.volume_id:"},{"line_number":752,"context_line":"            av_zone \u003d _get_volume_create_az_value(instance)"},{"line_number":753,"context_line":"            vol \u003d volume_api.create(context, self.volume_size,"},{"line_number":754,"context_line":"                                    \u0027\u0027, \u0027\u0027, image_id\u003dself.image_id,"},{"line_number":755,"context_line":"                                    volume_type\u003dself.volume_type,"},{"line_number":756,"context_line":"                                    availability_zone\u003dav_zone)"},{"line_number":757,"context_line":"            if wait_func:"},{"line_number":758,"context_line":"                self._call_wait_func(context, wait_func, volume_api, vol[\u0027id\u0027])"},{"line_number":759,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_db9af0c3","line":756,"range":{"start_line":753,"start_character":12,"end_line":756,"end_character":62},"in_reply_to":"9fb8cfa7_d43c7494","updated":"2019-07-07 15:59:59.000000000","message":"The snapshot creation volume does not pass through the code here. There is no name here to submit a patch later.","commit_id":"0cac951eebdb174d9bc21b8ab84cd84c9dce11da"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"b3575577b7cd056157a57469a3c88d8a477f0fc4","unresolved":false,"context_lines":[{"line_number":719,"context_line":"               virt_driver, wait_func\u003dNone):"},{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        if not self.volume_id:"},{"line_number":722,"context_line":"            if self[\u0027boot_index\u0027] \u003d\u003d 0:"},{"line_number":723,"context_line":"                vol_name \u003d instance.uuid + \u0027-system-vol\u0027"},{"line_number":724,"context_line":"            else:"},{"line_number":725,"context_line":"                vol_name \u003d instance.uuid + \u0027-disk-vol\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_1e754864","line":722,"updated":"2019-07-16 17:43:25.000000000","message":"Consider DRYing this into a helper method (in the parent class).","commit_id":"d747e8ba1c4a469a19d03541431a87abfd29d272"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"b3575577b7cd056157a57469a3c88d8a477f0fc4","unresolved":false,"context_lines":[{"line_number":751,"context_line":"               virt_driver, wait_func\u003dNone):"},{"line_number":752,"context_line":"        if not self.volume_id:"},{"line_number":753,"context_line":"            if self[\u0027boot_index\u0027] \u003d\u003d 0:"},{"line_number":754,"context_line":"                vol_name \u003d instance.uuid + \u0027-system-vol\u0027"},{"line_number":755,"context_line":"            else:"},{"line_number":756,"context_line":"                vol_name \u003d instance.uuid + \u0027-disk-vol\u0027"},{"line_number":757,"context_line":"            av_zone \u003d _get_volume_create_az_value(instance)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_7e11dc03","line":754,"updated":"2019-07-16 17:43:25.000000000","message":"Not to bikeshed too much, but since we\u0027re here, are these the right names? Would `-boot-vol` and `-data-vol` be better?","commit_id":"d747e8ba1c4a469a19d03541431a87abfd29d272"}]}
