)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"61219fdc9ce1f16eb39bad06ff844841dc3d15a7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Automatically restore volume to its original type when a dest"},{"line_number":10,"context_line":"volume_id is not specified. If the original type has already"},{"line_number":11,"context_line":"been deleted, fallback to a default volume type."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ic8a25fc9daeca0db1642358a918aecfd961b1989"},{"line_number":14,"context_line":"Closes-Bug: #1567263"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a122d0e_8e7db870","line":12,"updated":"2016-04-19 09:42:34.000000000","message":"Need \u0027APIImpact\u0027 here.","commit_id":"57e4d84984f70bcf28ddccadfcca12a47327c546"}],"cinder/backup/api.py":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"61219fdc9ce1f16eb39bad06ff844841dc3d15a7","unresolved":false,"context_lines":[{"line_number":414,"context_line":"        # Create a volume if none specified. If a volume is specified check"},{"line_number":415,"context_line":"        # it is large enough for the backup"},{"line_number":416,"context_line":"        if volume_id is None:"},{"line_number":417,"context_line":"            # get the correct volume_type for the new one"},{"line_number":418,"context_line":"            source_id \u003d backup[\u0027volume_id\u0027]"},{"line_number":419,"context_line":"            read_deleted_context \u003d context.deepcopy()"},{"line_number":420,"context_line":"            read_deleted_context.read_deleted \u003d \u0027yes\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_4e4e0070","line":417,"updated":"2016-04-19 09:42:34.000000000","message":"Capitalize the first letter?","commit_id":"57e4d84984f70bcf28ddccadfcca12a47327c546"}],"cinder/tests/unit/api/contrib/test_backups.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"24b10c13b01c7a2bc29ec01d3d746d3a9ce14ce2","unresolved":false,"context_lines":[{"line_number":1254,"context_line":"            {\u0027availability_zone\u0027: \u0027az1\u0027, \u0027host\u0027: \u0027testhost\u0027,"},{"line_number":1255,"context_line":"             \u0027disabled\u0027: 0, \u0027updated_at\u0027: timeutils.utcnow()}]"},{"line_number":1256,"context_line":"        _mock_volume_api_create.side_effect \u003d fake_volume_api_create"},{"line_number":1257,"context_line":"        _mock_get_volume_type.return_value \u003d \u0027fake_id\u0027"},{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":"        volume_id \u003d utils.create_volume(self.context, size\u003d5,"},{"line_number":1260,"context_line":"                                        volume_type_id\u003dfake.BACKUP_ID)[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_f5afc227","line":1257,"range":{"start_line":1257,"start_character":9,"end_line":1257,"end_character":54},"updated":"2016-05-10 10:57:30.000000000","message":"volume_types.get_volume_type returns a volume type object, not an ID.","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"cd146151866ce43987a141fd733b893a807fe38e","unresolved":false,"context_lines":[{"line_number":1254,"context_line":"            {\u0027availability_zone\u0027: \u0027az1\u0027, \u0027host\u0027: \u0027testhost\u0027,"},{"line_number":1255,"context_line":"             \u0027disabled\u0027: 0, \u0027updated_at\u0027: timeutils.utcnow()}]"},{"line_number":1256,"context_line":"        _mock_volume_api_create.side_effect \u003d fake_volume_api_create"},{"line_number":1257,"context_line":"        _mock_get_volume_type.return_value \u003d \u0027fake_id\u0027"},{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":"        volume_id \u003d utils.create_volume(self.context, size\u003d5,"},{"line_number":1260,"context_line":"                                        volume_type_id\u003dfake.BACKUP_ID)[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_0901e16a","line":1257,"range":{"start_line":1257,"start_character":9,"end_line":1257,"end_character":54},"in_reply_to":"dab17558_f5afc227","updated":"2016-05-13 08:15:01.000000000","message":"Done","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"24b10c13b01c7a2bc29ec01d3d746d3a9ce14ce2","unresolved":false,"context_lines":[{"line_number":1257,"context_line":"        _mock_get_volume_type.return_value \u003d \u0027fake_id\u0027"},{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":"        volume_id \u003d utils.create_volume(self.context, size\u003d5,"},{"line_number":1260,"context_line":"                                        volume_type_id\u003dfake.BACKUP_ID)[\u0027id\u0027]"},{"line_number":1261,"context_line":"        backup_id \u003d self._create_backup(volume_id\u003dvolume_id, size\u003d5,"},{"line_number":1262,"context_line":"                                        status\u003dfields.BackupStatus.AVAILABLE)"},{"line_number":1263,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_b547fa75","line":1260,"range":{"start_line":1260,"start_character":40,"end_line":1260,"end_character":70},"updated":"2016-05-10 10:57:30.000000000","message":"Use a fake volume type id, not a fake backup id.","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"cd146151866ce43987a141fd733b893a807fe38e","unresolved":false,"context_lines":[{"line_number":1257,"context_line":"        _mock_get_volume_type.return_value \u003d \u0027fake_id\u0027"},{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":"        volume_id \u003d utils.create_volume(self.context, size\u003d5,"},{"line_number":1260,"context_line":"                                        volume_type_id\u003dfake.BACKUP_ID)[\u0027id\u0027]"},{"line_number":1261,"context_line":"        backup_id \u003d self._create_backup(volume_id\u003dvolume_id, size\u003d5,"},{"line_number":1262,"context_line":"                                        status\u003dfields.BackupStatus.AVAILABLE)"},{"line_number":1263,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_49f3e99f","line":1260,"range":{"start_line":1260,"start_character":40,"end_line":1260,"end_character":70},"in_reply_to":"dab17558_b547fa75","updated":"2016-05-13 08:15:01.000000000","message":"Done","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"24b10c13b01c7a2bc29ec01d3d746d3a9ce14ce2","unresolved":false,"context_lines":[{"line_number":1260,"context_line":"                                        volume_type_id\u003dfake.BACKUP_ID)[\u0027id\u0027]"},{"line_number":1261,"context_line":"        backup_id \u003d self._create_backup(volume_id\u003dvolume_id, size\u003d5,"},{"line_number":1262,"context_line":"                                        status\u003dfields.BackupStatus.AVAILABLE)"},{"line_number":1263,"context_line":""},{"line_number":1264,"context_line":"        body \u003d {\"restore\": {}}"},{"line_number":1265,"context_line":"        req \u003d webob.Request.blank(\u0027/v2/%s/backups/%s/restore\u0027 % ("},{"line_number":1266,"context_line":"                                  fake.PROJECT_ID, backup_id))"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_b2b390e8","line":1263,"updated":"2016-05-10 10:57:30.000000000","message":"Shouldn\u0027t this test delete the original volume so that the code path to retrieve volume type from deleted volume is exercised?","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"cd146151866ce43987a141fd733b893a807fe38e","unresolved":false,"context_lines":[{"line_number":1260,"context_line":"                                        volume_type_id\u003dfake.BACKUP_ID)[\u0027id\u0027]"},{"line_number":1261,"context_line":"        backup_id \u003d self._create_backup(volume_id\u003dvolume_id, size\u003d5,"},{"line_number":1262,"context_line":"                                        status\u003dfields.BackupStatus.AVAILABLE)"},{"line_number":1263,"context_line":""},{"line_number":1264,"context_line":"        body \u003d {\"restore\": {}}"},{"line_number":1265,"context_line":"        req \u003d webob.Request.blank(\u0027/v2/%s/backups/%s/restore\u0027 % ("},{"line_number":1266,"context_line":"                                  fake.PROJECT_ID, backup_id))"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_a9f25598","line":1263,"in_reply_to":"dab17558_b2b390e8","updated":"2016-05-13 08:15:01.000000000","message":"Done","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"24b10c13b01c7a2bc29ec01d3d746d3a9ce14ce2","unresolved":false,"context_lines":[{"line_number":1273,"context_line":""},{"line_number":1274,"context_line":"        description \u003d \u0027auto-created_from_restore_from_backup\u0027"},{"line_number":1275,"context_line":"        name \u003d \u0027restore_backup_%s\u0027 % backup_id"},{"line_number":1276,"context_line":"        # Assert that we use the original volume type"},{"line_number":1277,"context_line":"        _mock_volume_api_create.assert_called_once_with("},{"line_number":1278,"context_line":"            mock.ANY,"},{"line_number":1279,"context_line":"            5,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_98d2eb5a","line":1276,"updated":"2016-05-10 10:57:30.000000000","message":"Assert that _mock_get_volume_type is called with the fake volume type id that is used in line 1260.","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"cd146151866ce43987a141fd733b893a807fe38e","unresolved":false,"context_lines":[{"line_number":1273,"context_line":""},{"line_number":1274,"context_line":"        description \u003d \u0027auto-created_from_restore_from_backup\u0027"},{"line_number":1275,"context_line":"        name \u003d \u0027restore_backup_%s\u0027 % backup_id"},{"line_number":1276,"context_line":"        # Assert that we use the original volume type"},{"line_number":1277,"context_line":"        _mock_volume_api_create.assert_called_once_with("},{"line_number":1278,"context_line":"            mock.ANY,"},{"line_number":1279,"context_line":"            5,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_2935c545","line":1276,"in_reply_to":"dab17558_98d2eb5a","updated":"2016-05-13 08:15:01.000000000","message":"Done","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"24b10c13b01c7a2bc29ec01d3d746d3a9ce14ce2","unresolved":false,"context_lines":[{"line_number":1278,"context_line":"            mock.ANY,"},{"line_number":1279,"context_line":"            5,"},{"line_number":1280,"context_line":"            name,"},{"line_number":1281,"context_line":"            description, volume_type\u003d\u0027fake_id\u0027)"},{"line_number":1282,"context_line":""},{"line_number":1283,"context_line":"        self.assertEqual(202, res.status_int)"},{"line_number":1284,"context_line":"        self.assertEqual(backup_id, res_dict[\u0027restore\u0027][\u0027backup_id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_d8a3d3fe","line":1281,"range":{"start_line":1281,"start_character":25,"end_line":1281,"end_character":47},"updated":"2016-05-10 10:57:30.000000000","message":"volume.api.create takes a volume type object as argument, not a volume type id.","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"cd146151866ce43987a141fd733b893a807fe38e","unresolved":false,"context_lines":[{"line_number":1278,"context_line":"            mock.ANY,"},{"line_number":1279,"context_line":"            5,"},{"line_number":1280,"context_line":"            name,"},{"line_number":1281,"context_line":"            description, volume_type\u003d\u0027fake_id\u0027)"},{"line_number":1282,"context_line":""},{"line_number":1283,"context_line":"        self.assertEqual(202, res.status_int)"},{"line_number":1284,"context_line":"        self.assertEqual(backup_id, res_dict[\u0027restore\u0027][\u0027backup_id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_0938c13c","line":1281,"range":{"start_line":1281,"start_character":25,"end_line":1281,"end_character":47},"in_reply_to":"dab17558_d8a3d3fe","updated":"2016-05-13 08:15:01.000000000","message":"Done","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"24b10c13b01c7a2bc29ec01d3d746d3a9ce14ce2","unresolved":false,"context_lines":[{"line_number":1302,"context_line":"             \u0027disabled\u0027: 0, \u0027updated_at\u0027: timeutils.utcnow()}]"},{"line_number":1303,"context_line":"        _mock_volume_api_create.side_effect \u003d fake_volume_api_create"},{"line_number":1304,"context_line":"        _mock_get_volume_type.side_effect \u003d exception.VolumeTypeNotFound("},{"line_number":1305,"context_line":"            volume_type_id\u003d\u0027id\u0027)"},{"line_number":1306,"context_line":""},{"line_number":1307,"context_line":"        volume_id \u003d utils.create_volume(self.context, size\u003d5,"},{"line_number":1308,"context_line":"                                        volume_type_id\u003dfake.VOLUME_ID)[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_4f80bb8b","line":1305,"updated":"2016-05-10 10:57:30.000000000","message":"use valid uuid.  I would use the fake.WILL_NOT_BE_FOUND_ID here.","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"cd146151866ce43987a141fd733b893a807fe38e","unresolved":false,"context_lines":[{"line_number":1302,"context_line":"             \u0027disabled\u0027: 0, \u0027updated_at\u0027: timeutils.utcnow()}]"},{"line_number":1303,"context_line":"        _mock_volume_api_create.side_effect \u003d fake_volume_api_create"},{"line_number":1304,"context_line":"        _mock_get_volume_type.side_effect \u003d exception.VolumeTypeNotFound("},{"line_number":1305,"context_line":"            volume_type_id\u003d\u0027id\u0027)"},{"line_number":1306,"context_line":""},{"line_number":1307,"context_line":"        volume_id \u003d utils.create_volume(self.context, size\u003d5,"},{"line_number":1308,"context_line":"                                        volume_type_id\u003dfake.VOLUME_ID)[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_693fcd25","line":1305,"in_reply_to":"dab17558_4f80bb8b","updated":"2016-05-13 08:15:01.000000000","message":"Done","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"24b10c13b01c7a2bc29ec01d3d746d3a9ce14ce2","unresolved":false,"context_lines":[{"line_number":1305,"context_line":"            volume_type_id\u003d\u0027id\u0027)"},{"line_number":1306,"context_line":""},{"line_number":1307,"context_line":"        volume_id \u003d utils.create_volume(self.context, size\u003d5,"},{"line_number":1308,"context_line":"                                        volume_type_id\u003dfake.VOLUME_ID)[\u0027id\u0027]"},{"line_number":1309,"context_line":"        backup_id \u003d self._create_backup(volume_id\u003dvolume_id, size\u003d5,"},{"line_number":1310,"context_line":"                                        status\u003dfields.BackupStatus.AVAILABLE)"},{"line_number":1311,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_2f54571f","line":1308,"updated":"2016-05-10 10:57:30.000000000","message":"this volume type id should be the same as that in line 1305, no?","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"cd146151866ce43987a141fd733b893a807fe38e","unresolved":false,"context_lines":[{"line_number":1305,"context_line":"            volume_type_id\u003d\u0027id\u0027)"},{"line_number":1306,"context_line":""},{"line_number":1307,"context_line":"        volume_id \u003d utils.create_volume(self.context, size\u003d5,"},{"line_number":1308,"context_line":"                                        volume_type_id\u003dfake.VOLUME_ID)[\u0027id\u0027]"},{"line_number":1309,"context_line":"        backup_id \u003d self._create_backup(volume_id\u003dvolume_id, size\u003d5,"},{"line_number":1310,"context_line":"                                        status\u003dfields.BackupStatus.AVAILABLE)"},{"line_number":1311,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_493ac935","line":1308,"in_reply_to":"dab17558_2f54571f","updated":"2016-05-13 08:15:01.000000000","message":"Done","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"24b10c13b01c7a2bc29ec01d3d746d3a9ce14ce2","unresolved":false,"context_lines":[{"line_number":1335,"context_line":"    @mock.patch(\u0027cinder.volume.volume_types.get_volume_type\u0027)"},{"line_number":1336,"context_line":"    @mock.patch(\u0027cinder.db.service_get_all_by_topic\u0027)"},{"line_number":1337,"context_line":"    @mock.patch(\u0027cinder.volume.api.API.create\u0027)"},{"line_number":1338,"context_line":"    def test_restore_backup_name_specified(self,"},{"line_number":1339,"context_line":"                                           _mock_volume_api_create,"},{"line_number":1340,"context_line":"                                           _mock_service_get_all_by_topic,"},{"line_number":1341,"context_line":"                                           _mock_get_volume_type):"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_6f9c9f0f","line":1338,"updated":"2016-05-10 10:57:30.000000000","message":"Update the test name to indicate that volume type is specified as well.","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"cd146151866ce43987a141fd733b893a807fe38e","unresolved":false,"context_lines":[{"line_number":1335,"context_line":"    @mock.patch(\u0027cinder.volume.volume_types.get_volume_type\u0027)"},{"line_number":1336,"context_line":"    @mock.patch(\u0027cinder.db.service_get_all_by_topic\u0027)"},{"line_number":1337,"context_line":"    @mock.patch(\u0027cinder.volume.api.API.create\u0027)"},{"line_number":1338,"context_line":"    def test_restore_backup_name_specified(self,"},{"line_number":1339,"context_line":"                                           _mock_volume_api_create,"},{"line_number":1340,"context_line":"                                           _mock_service_get_all_by_topic,"},{"line_number":1341,"context_line":"                                           _mock_get_volume_type):"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_e978ddfa","line":1338,"in_reply_to":"dab17558_6f9c9f0f","updated":"2016-05-13 08:15:01.000000000","message":"IMO, volume type is not specified in this test.","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"24b10c13b01c7a2bc29ec01d3d746d3a9ce14ce2","unresolved":false,"context_lines":[{"line_number":1354,"context_line":"             \u0027disabled\u0027: 0, \u0027updated_at\u0027: timeutils.utcnow()}]"},{"line_number":1355,"context_line":""},{"line_number":1356,"context_line":"        volume_id \u003d utils.create_volume(self.context, size\u003d5,"},{"line_number":1357,"context_line":"                                        volume_type_id\u003dfake.BACKUP_ID)[\u0027id\u0027]"},{"line_number":1358,"context_line":"        backup_id \u003d self._create_backup(volume_id\u003dvolume_id, size\u003d5,"},{"line_number":1359,"context_line":"                                        status\u003dfields.BackupStatus.AVAILABLE)"},{"line_number":1360,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_8f1463a0","line":1357,"updated":"2016-05-10 10:57:30.000000000","message":"Don\u0027t use backup id for volume type id - use fake.VOLUME_TYPE_ID.","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"cd146151866ce43987a141fd733b893a807fe38e","unresolved":false,"context_lines":[{"line_number":1354,"context_line":"             \u0027disabled\u0027: 0, \u0027updated_at\u0027: timeutils.utcnow()}]"},{"line_number":1355,"context_line":""},{"line_number":1356,"context_line":"        volume_id \u003d utils.create_volume(self.context, size\u003d5,"},{"line_number":1357,"context_line":"                                        volume_type_id\u003dfake.BACKUP_ID)[\u0027id\u0027]"},{"line_number":1358,"context_line":"        backup_id \u003d self._create_backup(volume_id\u003dvolume_id, size\u003d5,"},{"line_number":1359,"context_line":"                                        status\u003dfields.BackupStatus.AVAILABLE)"},{"line_number":1360,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_298305ce","line":1357,"in_reply_to":"dab17558_8f1463a0","updated":"2016-05-13 08:15:01.000000000","message":"Done","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"24b10c13b01c7a2bc29ec01d3d746d3a9ce14ce2","unresolved":false,"context_lines":[{"line_number":1369,"context_line":"        res_dict \u003d jsonutils.loads(res.body)"},{"line_number":1370,"context_line":""},{"line_number":1371,"context_line":"        description \u003d \u0027auto-created_from_restore_from_backup\u0027"},{"line_number":1372,"context_line":"        # Assert that we have indeed passed on the name parameter"},{"line_number":1373,"context_line":"        _mock_volume_api_create.assert_called_once_with("},{"line_number":1374,"context_line":"            mock.ANY,"},{"line_number":1375,"context_line":"            5,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_0fdeb3dc","line":1372,"updated":"2016-05-10 10:57:30.000000000","message":"Update the comment to indicate that you are checking the volume type in addition to the name.\n\nAssert that _mock_get_volume_type is called with the right volume type id.","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"cd146151866ce43987a141fd733b893a807fe38e","unresolved":false,"context_lines":[{"line_number":1369,"context_line":"        res_dict \u003d jsonutils.loads(res.body)"},{"line_number":1370,"context_line":""},{"line_number":1371,"context_line":"        description \u003d \u0027auto-created_from_restore_from_backup\u0027"},{"line_number":1372,"context_line":"        # Assert that we have indeed passed on the name parameter"},{"line_number":1373,"context_line":"        _mock_volume_api_create.assert_called_once_with("},{"line_number":1374,"context_line":"            mock.ANY,"},{"line_number":1375,"context_line":"            5,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_2944a572","line":1372,"in_reply_to":"dab17558_0fdeb3dc","updated":"2016-05-13 08:15:01.000000000","message":"Hi, Tom:\n      I update this test just in purpose that it will pass the test.\n      The new feature of this patch has been tested in previous two unit tests, so I prefer not add more assert in this test.\nThanks","commit_id":"2d4d9e74cbd07a31d25b6a959917e6336a8b71d8"}]}
