)]}'
{"cinder/db/sqlalchemy/api.py":[{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"03130d76a5d03153e878660df716f09463111cc6","unresolved":false,"context_lines":[{"line_number":4171,"context_line":"        if results or group_count or cg_count:"},{"line_number":4172,"context_line":"            LOG.error(\u0027VolumeType %s deletion failed, VolumeType in use.\u0027, id)"},{"line_number":4173,"context_line":"            raise exception.VolumeTypeInUse(volume_type_id\u003did)"},{"line_number":4174,"context_line":"        # check encryption backup here"},{"line_number":4175,"context_line":"        depend_backup_count \u003d model_query(context,"},{"line_number":4176,"context_line":"                                          models.Backup,"},{"line_number":4177,"context_line":"                                          session\u003dsession,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_987fc664","line":4174,"updated":"2020-06-28 07:44:00.000000000","message":"Capitalize the first letter.","commit_id":"70a309fb30092a418c66e2d229a185b8a3c392bf"},{"author":{"_account_id":30638,"name":"Yao wang","email":"a64957782017@163.com","username":"wangyao829"},"change_message_id":"a600c9aaa9347181467936d9b4162bdb67cdf38d","unresolved":false,"context_lines":[{"line_number":4171,"context_line":"        if results or group_count or cg_count:"},{"line_number":4172,"context_line":"            LOG.error(\u0027VolumeType %s deletion failed, VolumeType in use.\u0027, id)"},{"line_number":4173,"context_line":"            raise exception.VolumeTypeInUse(volume_type_id\u003did)"},{"line_number":4174,"context_line":"        # check encryption backup here"},{"line_number":4175,"context_line":"        depend_backup_count \u003d model_query(context,"},{"line_number":4176,"context_line":"                                          models.Backup,"},{"line_number":4177,"context_line":"                                          session\u003dsession,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_d1da5ae7","line":4174,"in_reply_to":"bf51134e_987fc664","updated":"2020-07-30 09:39:05.000000000","message":"Done","commit_id":"70a309fb30092a418c66e2d229a185b8a3c392bf"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"71d424fc12d5e0528cd84636f5eec0cf794e23fe","unresolved":false,"context_lines":[{"line_number":4177,"context_line":"                                          session\u003dsession,"},{"line_number":4178,"context_line":"                                          read_deleted\u003d\"int_no\").\\"},{"line_number":4179,"context_line":"            filter_by(volume_type_id\u003did).\\"},{"line_number":4180,"context_line":"            filter(models.Backup.encryption_key_id !\u003d \"\").count()"},{"line_number":4181,"context_line":"        if depend_backup_count:"},{"line_number":4182,"context_line":"            LOG.error(\u0027VolumeType %s deletion failed, VolumeType is used \u0027"},{"line_number":4183,"context_line":"                      \u0027by backup.\u0027, id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_a1f03d69","line":4180,"updated":"2020-07-29 19:27:31.000000000","message":"Why this filter? See my other comment on additional benefit of having the volume type available in case the restore operation needs to create the volume. Basically, don\u0027t delete the volume type if it\u0027s in use for any reason (not just encryption).","commit_id":"70a309fb30092a418c66e2d229a185b8a3c392bf"},{"author":{"_account_id":30638,"name":"Yao wang","email":"a64957782017@163.com","username":"wangyao829"},"change_message_id":"a600c9aaa9347181467936d9b4162bdb67cdf38d","unresolved":false,"context_lines":[{"line_number":4177,"context_line":"                                          session\u003dsession,"},{"line_number":4178,"context_line":"                                          read_deleted\u003d\"int_no\").\\"},{"line_number":4179,"context_line":"            filter_by(volume_type_id\u003did).\\"},{"line_number":4180,"context_line":"            filter(models.Backup.encryption_key_id !\u003d \"\").count()"},{"line_number":4181,"context_line":"        if depend_backup_count:"},{"line_number":4182,"context_line":"            LOG.error(\u0027VolumeType %s deletion failed, VolumeType is used \u0027"},{"line_number":4183,"context_line":"                      \u0027by backup.\u0027, id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_b1d526ba","line":4180,"in_reply_to":"9f560f44_a1f03d69","updated":"2020-07-30 09:39:05.000000000","message":"Thanks for your suggestion.","commit_id":"70a309fb30092a418c66e2d229a185b8a3c392bf"}],"cinder/db/sqlalchemy/migrate_repo/versions/140_add_volume_type_id_to_backup.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"71d424fc12d5e0528cd84636f5eec0cf794e23fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9f560f44_6150e55e","line":22,"updated":"2020-07-29 19:27:31.000000000","message":"It would be really cool if the backup service, on startup, could scan the backups and fill in the missing volume type (obviously when the source volume still exists).","commit_id":"70a309fb30092a418c66e2d229a185b8a3c392bf"},{"author":{"_account_id":30638,"name":"Yao wang","email":"a64957782017@163.com","username":"wangyao829"},"change_message_id":"a600c9aaa9347181467936d9b4162bdb67cdf38d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9f560f44_71ed4e8a","line":22,"in_reply_to":"9f560f44_6150e55e","updated":"2020-07-30 09:39:05.000000000","message":"We cannot guarantee the volume type of source volume has never changed","commit_id":"70a309fb30092a418c66e2d229a185b8a3c392bf"}],"cinder/exception.py":[{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"03130d76a5d03153e878660df716f09463111cc6","unresolved":false,"context_lines":[{"line_number":399,"context_line":"                \"volumes present with the type.\")"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"class VolumeTypeInUseByBackup(CinderException):"},{"line_number":403,"context_line":"    message \u003d _(\"Volume Type %(volume_type_id)s deletion is not allowed with \""},{"line_number":404,"context_line":"                \"backup present with the type.\")"},{"line_number":405,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_58eece21","line":402,"range":{"start_line":402,"start_character":6,"end_line":402,"end_character":29},"updated":"2020-06-28 07:44:00.000000000","message":"I think it is repetitive. Just modify VolumeTypeInUse\u0027s message like this: \"Volume Type %(volume_type_id)s deletion is not allowed with (volumes/backups) present with the type.\"","commit_id":"70a309fb30092a418c66e2d229a185b8a3c392bf"},{"author":{"_account_id":30638,"name":"Yao wang","email":"a64957782017@163.com","username":"wangyao829"},"change_message_id":"a600c9aaa9347181467936d9b4162bdb67cdf38d","unresolved":false,"context_lines":[{"line_number":399,"context_line":"                \"volumes present with the type.\")"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"class VolumeTypeInUseByBackup(CinderException):"},{"line_number":403,"context_line":"    message \u003d _(\"Volume Type %(volume_type_id)s deletion is not allowed with \""},{"line_number":404,"context_line":"                \"backup present with the type.\")"},{"line_number":405,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_f1df9ed3","line":402,"range":{"start_line":402,"start_character":6,"end_line":402,"end_character":29},"in_reply_to":"9f560f44_e1d195cf","updated":"2020-07-30 09:39:05.000000000","message":"Done","commit_id":"70a309fb30092a418c66e2d229a185b8a3c392bf"},{"author":{"_account_id":30638,"name":"Yao wang","email":"a64957782017@163.com","username":"wangyao829"},"change_message_id":"a600c9aaa9347181467936d9b4162bdb67cdf38d","unresolved":false,"context_lines":[{"line_number":399,"context_line":"                \"volumes present with the type.\")"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"class VolumeTypeInUseByBackup(CinderException):"},{"line_number":403,"context_line":"    message \u003d _(\"Volume Type %(volume_type_id)s deletion is not allowed with \""},{"line_number":404,"context_line":"                \"backup present with the type.\")"},{"line_number":405,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_11e5f2a8","line":402,"range":{"start_line":402,"start_character":6,"end_line":402,"end_character":29},"in_reply_to":"bf51134e_58eece21","updated":"2020-07-30 09:39:05.000000000","message":"Done","commit_id":"70a309fb30092a418c66e2d229a185b8a3c392bf"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"71d424fc12d5e0528cd84636f5eec0cf794e23fe","unresolved":false,"context_lines":[{"line_number":399,"context_line":"                \"volumes present with the type.\")"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"class VolumeTypeInUseByBackup(CinderException):"},{"line_number":403,"context_line":"    message \u003d _(\"Volume Type %(volume_type_id)s deletion is not allowed with \""},{"line_number":404,"context_line":"                \"backup present with the type.\")"},{"line_number":405,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_e1d195cf","line":402,"range":{"start_line":402,"start_character":6,"end_line":402,"end_character":29},"in_reply_to":"bf51134e_58eece21","updated":"2020-07-29 19:27:31.000000000","message":"I agree. The VolumeTypeInUse message could be enhanced to cover both volumes and backups.","commit_id":"70a309fb30092a418c66e2d229a185b8a3c392bf"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"03130d76a5d03153e878660df716f09463111cc6","unresolved":false,"context_lines":[{"line_number":401,"context_line":""},{"line_number":402,"context_line":"class VolumeTypeInUseByBackup(CinderException):"},{"line_number":403,"context_line":"    message \u003d _(\"Volume Type %(volume_type_id)s deletion is not allowed with \""},{"line_number":404,"context_line":"                \"backup present with the type.\")"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"class VolumeTypeDefault(CinderException):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_188bb667","line":404,"range":{"start_line":404,"start_character":17,"end_line":404,"end_character":23},"updated":"2020-06-28 07:44:00.000000000","message":"s/backups","commit_id":"70a309fb30092a418c66e2d229a185b8a3c392bf"},{"author":{"_account_id":30638,"name":"Yao wang","email":"a64957782017@163.com","username":"wangyao829"},"change_message_id":"a600c9aaa9347181467936d9b4162bdb67cdf38d","unresolved":false,"context_lines":[{"line_number":401,"context_line":""},{"line_number":402,"context_line":"class VolumeTypeInUseByBackup(CinderException):"},{"line_number":403,"context_line":"    message \u003d _(\"Volume Type %(volume_type_id)s deletion is not allowed with \""},{"line_number":404,"context_line":"                \"backup present with the type.\")"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"class VolumeTypeDefault(CinderException):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_51f00a68","line":404,"range":{"start_line":404,"start_character":17,"end_line":404,"end_character":23},"in_reply_to":"bf51134e_188bb667","updated":"2020-07-30 09:39:05.000000000","message":"Done","commit_id":"70a309fb30092a418c66e2d229a185b8a3c392bf"}],"cinder/objects/backup.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"5c3a3f9f64c0d818a13b75e2387ab2120353bb63","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":116,"context_line":"        \"\"\"Make an object representation compatible with a target version.\"\"\""},{"line_number":117,"context_line":"        added_fields \u003d (((1, 7), (\u0027parent\u0027,)),)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        super(Backup, self).obj_make_compatible(primitive, target_version)"},{"line_number":120,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_c6f8dac5","line":117,"updated":"2020-07-30 12:54:49.000000000","message":"Need to also add 1.8 here to remove the volume type field if being converted to a pre-1.8 version.","commit_id":"a621a20eabb82de1a2e90db17e4e5b6b4ac48d89"},{"author":{"_account_id":30638,"name":"Yao wang","email":"a64957782017@163.com","username":"wangyao829"},"change_message_id":"cd555319c07cd3b8cca63ae65590d042827a02f8","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":116,"context_line":"        \"\"\"Make an object representation compatible with a target version.\"\"\""},{"line_number":117,"context_line":"        added_fields \u003d (((1, 7), (\u0027parent\u0027,)),)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        super(Backup, self).obj_make_compatible(primitive, target_version)"},{"line_number":120,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_7c1fadb6","line":117,"in_reply_to":"9f560f44_c6f8dac5","updated":"2020-08-03 06:29:22.000000000","message":"Done","commit_id":"a621a20eabb82de1a2e90db17e4e5b6b4ac48d89"}]}
