)]}'
{"karbor/services/protection/protection_plugins/volume/volume_glance_plugin.py":[{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"7eaeb8957bc02202e2b785dfb75470f6d83d044f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"]"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"VOLUME_SUCCESS_STATUSES \u003d {\u0027available\u0027, \u0027in-use\u0027,"},{"line_number":48,"context_line":"                           \u0027error_extending\u0027, \u0027error_restoring\u0027}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"VOLUME_FAILURE_STATUSES \u003d {\u0027error\u0027, \u0027error_deleting\u0027, \u0027deleting\u0027,"},{"line_number":51,"context_line":"                           \u0027not-found\u0027}"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_02b3df99","line":48,"range":{"start_line":48,"start_character":26,"end_line":48,"end_character":63},"updated":"2017-10-16 08:51:58.000000000","message":"Are these status failure status?","commit_id":"abc5471465e5c1f380d4ba382dc5ca10461f26dc"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"cd9d32afd4455f5f7685678f7b9a4841048f52cf","unresolved":false,"context_lines":[{"line_number":45,"context_line":"]"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"VOLUME_SUCCESS_STATUSES \u003d {\u0027available\u0027, \u0027in-use\u0027,"},{"line_number":48,"context_line":"                           \u0027error_extending\u0027, \u0027error_restoring\u0027}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"VOLUME_FAILURE_STATUSES \u003d {\u0027error\u0027, \u0027error_deleting\u0027, \u0027deleting\u0027,"},{"line_number":51,"context_line":"                           \u0027not-found\u0027}"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_bc3c102f","line":48,"range":{"start_line":48,"start_character":26,"end_line":48,"end_character":63},"in_reply_to":"5f4e5783_02b3df99","updated":"2017-10-17 09:30:07.000000000","message":"these status are not failure status for doing volume backup.\ncinder_protection_plugin use the same success statuses.","commit_id":"abc5471465e5c1f380d4ba382dc5ca10461f26dc"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"7eaeb8957bc02202e2b785dfb75470f6d83d044f","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    def _create_volume_from_image(self, cinder_client, temporary_image,"},{"line_number":318,"context_line":"                                  restore_name, original_vol_id, description):"},{"line_number":319,"context_line":"        size \u003d int(math.ceil(temporary_image.size / 1073741824.0))"},{"line_number":320,"context_line":"        volume \u003d cinder_client.volumes.create("},{"line_number":321,"context_line":"            size\u003dsize,"},{"line_number":322,"context_line":"            imageRef\u003dtemporary_image.id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_b818bc1d","line":319,"range":{"start_line":319,"start_character":8,"end_line":319,"end_character":66},"updated":"2017-10-16 08:51:58.000000000","message":"How about recording the size of volume in the metadata of this checkpoint? So when we restore it, we can create the volume with this size directly.","commit_id":"abc5471465e5c1f380d4ba382dc5ca10461f26dc"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"cd9d32afd4455f5f7685678f7b9a4841048f52cf","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    def _create_volume_from_image(self, cinder_client, temporary_image,"},{"line_number":318,"context_line":"                                  restore_name, original_vol_id, description):"},{"line_number":319,"context_line":"        size \u003d int(math.ceil(temporary_image.size / 1073741824.0))"},{"line_number":320,"context_line":"        volume \u003d cinder_client.volumes.create("},{"line_number":321,"context_line":"            size\u003dsize,"},{"line_number":322,"context_line":"            imageRef\u003dtemporary_image.id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_df6c5ecf","line":319,"range":{"start_line":319,"start_character":8,"end_line":319,"end_character":66},"in_reply_to":"5f4e5783_b818bc1d","updated":"2017-10-17 09:30:07.000000000","message":"Done","commit_id":"abc5471465e5c1f380d4ba382dc5ca10461f26dc"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"ee0febbf3da0813b91023ce7165ad3ed62e8f95d","unresolved":false,"context_lines":[{"line_number":361,"context_line":"                                           restore_name, original_volume_id,"},{"line_number":362,"context_line":"                                           restore_description)"},{"line_number":363,"context_line":"        finally:"},{"line_number":364,"context_line":"            if temporary_image:"},{"line_number":365,"context_line":"                try:"},{"line_number":366,"context_line":"                    glance_client.images.delete(temporary_image.id)"},{"line_number":367,"context_line":"                except Exception as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f515b1d_0eaddd30","line":364,"range":{"start_line":364,"start_character":12,"end_line":364,"end_character":31},"updated":"2017-10-04 07:59:48.000000000","message":"this can be redundant","commit_id":"abc5471465e5c1f380d4ba382dc5ca10461f26dc"},{"author":{"_account_id":21224,"name":"jiaopengju","email":"jiaopengju_yewu@cmss.chinamobile.com","username":"jiaopengju"},"change_message_id":"a319955fba6225fe379fa1204d619b3b65a54ecf","unresolved":false,"context_lines":[{"line_number":361,"context_line":"                                           restore_name, original_volume_id,"},{"line_number":362,"context_line":"                                           restore_description)"},{"line_number":363,"context_line":"        finally:"},{"line_number":364,"context_line":"            if temporary_image:"},{"line_number":365,"context_line":"                try:"},{"line_number":366,"context_line":"                    glance_client.images.delete(temporary_image.id)"},{"line_number":367,"context_line":"                except Exception as e:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f515b1d_78c6db6a","line":364,"range":{"start_line":364,"start_character":12,"end_line":364,"end_character":31},"in_reply_to":"7f515b1d_0eaddd30","updated":"2017-10-09 07:17:19.000000000","message":"IMO, it\u0027s useful. If exception was throwed by self._create_temporary_image, temporary_image will not be returned and the temporary image was deleted in self._create_temporary_image. So in this case we do not need delete temporary image here.","commit_id":"abc5471465e5c1f380d4ba382dc5ca10461f26dc"}]}
