)]}'
{"cinder/tests/unit/volume/test_driver.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"87c90c5534e4f1581f99e4c6d820c9cd96496332","unresolved":false,"context_lines":[{"line_number":251,"context_line":"            self.assertEqual(temp_vol, backup_device)"},{"line_number":252,"context_line":"            self.assertFalse(is_snapshot)"},{"line_number":253,"context_line":"            backup_obj.refresh()"},{"line_number":254,"context_line":"            self.assertEqual(temp_vol.id, backup_obj.temp_volume_id)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def test_create_temp_volume_from_snapshot(self):"},{"line_number":257,"context_line":"        volume_dict \u003d {\u0027id\u0027: fake.SNAPSHOT_ID,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f96bb07_d77606a5","line":254,"updated":"2018-01-24 10:04:54.000000000","message":"-1: We are not testing that the quota code is not being called.","commit_id":"91778cd9ef20e968b4d33d340890502f34a377ac"},{"author":{"_account_id":22299,"name":"lihaijing","email":"lihaijing@fiberhome.com","username":"lihaijing"},"change_message_id":"5f85b3d456b8a78c7f69ebd0af10a56fbdd1bf77","unresolved":false,"context_lines":[{"line_number":251,"context_line":"            self.assertEqual(temp_vol, backup_device)"},{"line_number":252,"context_line":"            self.assertFalse(is_snapshot)"},{"line_number":253,"context_line":"            backup_obj.refresh()"},{"line_number":254,"context_line":"            self.assertEqual(temp_vol.id, backup_obj.temp_volume_id)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def test_create_temp_volume_from_snapshot(self):"},{"line_number":257,"context_line":"        volume_dict \u003d {\u0027id\u0027: fake.SNAPSHOT_ID,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f93b717_0e610037","line":254,"in_reply_to":"5f93b717_4e0aa8d2","updated":"2018-01-26 06:55:17.000000000","message":"Oh,I see. You mean get_backup_device() returns a fake temp vol since mock, so it\u0027s unnecessary to add line249-250. Right?","commit_id":"91778cd9ef20e968b4d33d340890502f34a377ac"},{"author":{"_account_id":22299,"name":"lihaijing","email":"lihaijing@fiberhome.com","username":"lihaijing"},"change_message_id":"1ec80d77743c37765a0b8b0d0afd7938826ff8fb","unresolved":false,"context_lines":[{"line_number":251,"context_line":"            self.assertEqual(temp_vol, backup_device)"},{"line_number":252,"context_line":"            self.assertFalse(is_snapshot)"},{"line_number":253,"context_line":"            backup_obj.refresh()"},{"line_number":254,"context_line":"            self.assertEqual(temp_vol.id, backup_obj.temp_volume_id)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def test_create_temp_volume_from_snapshot(self):"},{"line_number":257,"context_line":"        volume_dict \u003d {\u0027id\u0027: fake.SNAPSHOT_ID,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f93b717_4e0aa8d2","line":254,"in_reply_to":"7f96bb07_d77606a5","updated":"2018-01-26 06:30:22.000000000","message":"I\u0027m sorry, I do not quite understand what you mean...","commit_id":"91778cd9ef20e968b4d33d340890502f34a377ac"}],"cinder/volume/driver.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"87c90c5534e4f1581f99e4c6d820c9cd96496332","unresolved":false,"context_lines":[{"line_number":1259,"context_line":"        return temp_snap_ref"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"    def _create_temp_volume(self, context, volume, volume_options\u003dNone):"},{"line_number":1262,"context_line":"        admin_meta \u003d {\u0027temporary\u0027: \u0027True\u0027}"},{"line_number":1263,"context_line":"        kwargs \u003d {"},{"line_number":1264,"context_line":"            \u0027size\u0027: volume.size,"},{"line_number":1265,"context_line":"            \u0027display_name\u0027: \u0027backup-vol-%s\u0027 % volume.id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f96bb07_f40b008b","line":1262,"updated":"2018-01-24 10:04:54.000000000","message":"nit: Not much sense creating a variable here for this, you can just add it directly on L1274","commit_id":"91778cd9ef20e968b4d33d340890502f34a377ac"},{"author":{"_account_id":22299,"name":"lihaijing","email":"lihaijing@fiberhome.com","username":"lihaijing"},"change_message_id":"1ec80d77743c37765a0b8b0d0afd7938826ff8fb","unresolved":false,"context_lines":[{"line_number":1259,"context_line":"        return temp_snap_ref"},{"line_number":1260,"context_line":""},{"line_number":1261,"context_line":"    def _create_temp_volume(self, context, volume, volume_options\u003dNone):"},{"line_number":1262,"context_line":"        admin_meta \u003d {\u0027temporary\u0027: \u0027True\u0027}"},{"line_number":1263,"context_line":"        kwargs \u003d {"},{"line_number":1264,"context_line":"            \u0027size\u0027: volume.size,"},{"line_number":1265,"context_line":"            \u0027display_name\u0027: \u0027backup-vol-%s\u0027 % volume.id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f93b717_8eff50a9","line":1262,"in_reply_to":"7f96bb07_f40b008b","updated":"2018-01-26 06:30:22.000000000","message":"fix in next patch set","commit_id":"91778cd9ef20e968b4d33d340890502f34a377ac"}],"cinder/volume/manager.py":[{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"3bae01db44ba1e65b96db70853bf86efbc68945f","unresolved":false,"context_lines":[{"line_number":762,"context_line":"        # To backup a snapshot or a \u0027in-use\u0027 volume, create a temp volume"},{"line_number":763,"context_line":"        # from the snapshot or in-use volume, and back it up."},{"line_number":764,"context_line":"        # Temp volume has a fixed name format: backup-vol-{volume_id}"},{"line_number":765,"context_line":"        is_temp_vol \u003d True if \u0027backup-vol\u0027 in volume.display_name else False"},{"line_number":766,"context_line":"        if is_temp_vol:"},{"line_number":767,"context_line":"            LOG.info(\"Try to delete temp volume: %s\", volume.id)"},{"line_number":768,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_1b0c46a3","line":765,"range":{"start_line":765,"start_character":8,"end_line":765,"end_character":76},"updated":"2018-01-18 06:44:52.000000000","message":"This can be simplified:\nis_temp_vol \u003d if \u0027backup-vol\u0027 in volume.display_name","commit_id":"9c763e04be02003f353e54f4f2eb0af39bf92961"},{"author":{"_account_id":22299,"name":"lihaijing","email":"lihaijing@fiberhome.com","username":"lihaijing"},"change_message_id":"81c28818f502dafb53c1d2c2be1aed28dbd790da","unresolved":false,"context_lines":[{"line_number":762,"context_line":"        # To backup a snapshot or a \u0027in-use\u0027 volume, create a temp volume"},{"line_number":763,"context_line":"        # from the snapshot or in-use volume, and back it up."},{"line_number":764,"context_line":"        # Temp volume has a fixed name format: backup-vol-{volume_id}"},{"line_number":765,"context_line":"        is_temp_vol \u003d True if \u0027backup-vol\u0027 in volume.display_name else False"},{"line_number":766,"context_line":"        if is_temp_vol:"},{"line_number":767,"context_line":"            LOG.info(\"Try to delete temp volume: %s\", volume.id)"},{"line_number":768,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_1e7f54e0","line":765,"range":{"start_line":765,"start_character":8,"end_line":765,"end_character":76},"in_reply_to":"7f96bb07_1b0c46a3","updated":"2018-01-18 07:19:17.000000000","message":"Done","commit_id":"9c763e04be02003f353e54f4f2eb0af39bf92961"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"94314ca1a85d3a3fc9d6d8d647638977180520f7","unresolved":false,"context_lines":[{"line_number":829,"context_line":""},{"line_number":830,"context_line":"        # If deleting source/destination volume in a migration or a temp"},{"line_number":831,"context_line":"        # volume for backup, we should skip quotas."},{"line_number":832,"context_line":"        skip_quota \u003d True if is_migrating or is_temp_vol else False"},{"line_number":833,"context_line":"        if not skip_quota:"},{"line_number":834,"context_line":"            # Get reservations"},{"line_number":835,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_9b7b7626","line":832,"range":{"start_line":832,"start_character":21,"end_line":832,"end_character":67},"updated":"2018-01-18 06:40:25.000000000","message":"This can be simplified:\nskip_quota \u003d is_migrating or is_temp_vol","commit_id":"9c763e04be02003f353e54f4f2eb0af39bf92961"},{"author":{"_account_id":22299,"name":"lihaijing","email":"lihaijing@fiberhome.com","username":"lihaijing"},"change_message_id":"81c28818f502dafb53c1d2c2be1aed28dbd790da","unresolved":false,"context_lines":[{"line_number":829,"context_line":""},{"line_number":830,"context_line":"        # If deleting source/destination volume in a migration or a temp"},{"line_number":831,"context_line":"        # volume for backup, we should skip quotas."},{"line_number":832,"context_line":"        skip_quota \u003d True if is_migrating or is_temp_vol else False"},{"line_number":833,"context_line":"        if not skip_quota:"},{"line_number":834,"context_line":"            # Get reservations"},{"line_number":835,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_de848cd5","line":832,"range":{"start_line":832,"start_character":21,"end_line":832,"end_character":67},"in_reply_to":"7f96bb07_9b7b7626","updated":"2018-01-18 07:19:17.000000000","message":"Done","commit_id":"9c763e04be02003f353e54f4f2eb0af39bf92961"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ecf7b6434e2ea289c36d4138b94ebdaad24bd2d3","unresolved":false,"context_lines":[{"line_number":762,"context_line":"        # To backup a snapshot or a \u0027in-use\u0027 volume, create a temp volume"},{"line_number":763,"context_line":"        # from the snapshot or in-use volume, and back it up."},{"line_number":764,"context_line":"        # Temp volume has a fixed name format: backup-vol-{volume_id}"},{"line_number":765,"context_line":"        is_temp_vol \u003d \u0027backup-vol\u0027 in volume.display_name"},{"line_number":766,"context_line":"        if is_temp_vol:"},{"line_number":767,"context_line":"            LOG.info(\"Try to delete temp volume: %s\", volume.id)"},{"line_number":768,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_33a33a03","line":765,"updated":"2018-01-19 12:10:48.000000000","message":"-1: I really think it\u0027s not a good idea to \"detect\" whether a volume is a backup temporary one via the display_name field, we should have something that identifies it as such in the metadata.\n\nEven if we accept this way of detecting it we should at least reduce the number of false positives, as this will consider as a backup a volume named as \"mybackup-vol\".\n\n is_temp_vol \u003d volume.display_name.startswith(\u0027backup-vol\u0027)","commit_id":"7c380a1e623f14da4d093e5847adbd501252062b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ecf7b6434e2ea289c36d4138b94ebdaad24bd2d3","unresolved":false,"context_lines":[{"line_number":764,"context_line":"        # Temp volume has a fixed name format: backup-vol-{volume_id}"},{"line_number":765,"context_line":"        is_temp_vol \u003d \u0027backup-vol\u0027 in volume.display_name"},{"line_number":766,"context_line":"        if is_temp_vol:"},{"line_number":767,"context_line":"            LOG.info(\"Try to delete temp volume: %s\", volume.id)"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"        # The status \u0027deleting\u0027 is not included, because it only applies to"},{"line_number":770,"context_line":"        # the source volume to be deleted after a migration. No quota"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_b3b66a3e","line":767,"range":{"start_line":767,"start_character":22,"end_line":767,"end_character":25},"updated":"2018-01-19 12:10:48.000000000","message":"nit: Trying","commit_id":"7c380a1e623f14da4d093e5847adbd501252062b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"87c90c5534e4f1581f99e4c6d820c9cd96496332","unresolved":false,"context_lines":[{"line_number":780,"context_line":"        notification \u003d \"delete.start\""},{"line_number":781,"context_line":"        if unmanage_only:"},{"line_number":782,"context_line":"            notification \u003d \"unmanage.start\""},{"line_number":783,"context_line":"        self._notify_about_volume_usage(context, volume, notification)"},{"line_number":784,"context_line":"        try:"},{"line_number":785,"context_line":"            # NOTE(flaper87): Verify the driver is enabled"},{"line_number":786,"context_line":"            # before going forward. The exception will be caught"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f96bb07_548994c7","line":783,"updated":"2018-01-24 10:04:54.000000000","message":"-1: If the temporary volume creation was not notified, then the deletion shouldn\u0027t be either.","commit_id":"91778cd9ef20e968b4d33d340890502f34a377ac"},{"author":{"_account_id":22299,"name":"lihaijing","email":"lihaijing@fiberhome.com","username":"lihaijing"},"change_message_id":"1ec80d77743c37765a0b8b0d0afd7938826ff8fb","unresolved":false,"context_lines":[{"line_number":780,"context_line":"        notification \u003d \"delete.start\""},{"line_number":781,"context_line":"        if unmanage_only:"},{"line_number":782,"context_line":"            notification \u003d \"unmanage.start\""},{"line_number":783,"context_line":"        self._notify_about_volume_usage(context, volume, notification)"},{"line_number":784,"context_line":"        try:"},{"line_number":785,"context_line":"            # NOTE(flaper87): Verify the driver is enabled"},{"line_number":786,"context_line":"            # before going forward. The exception will be caught"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f93b717_aef80cc4","line":783,"in_reply_to":"7f96bb07_548994c7","updated":"2018-01-26 06:30:22.000000000","message":"fix in next patch set","commit_id":"91778cd9ef20e968b4d33d340890502f34a377ac"}]}
