)]}'
{"cinder/api/contrib/volume_actions.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"37bb5e751efc6e7e9697dcf6a7ecdfa9e04c20cf","unresolved":true,"context_lines":[{"line_number":264,"context_line":"            msg \u003d \"%(err_type)s: %(err_msg)s\" % {\u0027err_type\u0027: error.exc_type,"},{"line_number":265,"context_line":"                                                 \u0027err_msg\u0027: error.value}"},{"line_number":266,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":267,"context_line":"        except Exception as error:"},{"line_number":268,"context_line":"            if volume.encryption_key_id:"},{"line_number":269,"context_line":"                volume_utils.delete_encryption_key(context,"},{"line_number":270,"context_line":"                                                   self._key_manager,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1d4ec67f_7498f8d2","line":267,"range":{"start_line":267,"start_character":8,"end_line":267,"end_character":33},"updated":"2021-03-19 15:17:55.000000000","message":"Do we really know that it\u0027s safe to delete the key in the general exception case?  What if an exception occurred after the image was uploaded?","commit_id":"e23070a0a03032aa2e2d36c191996e50bf6c545b"}],"cinder/tests/unit/api/contrib/test_volume_actions.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a50cec96ded330393ef36aced0831ef7e29f2d72","unresolved":false,"context_lines":[{"line_number":1528,"context_line":"    @mock.patch.object(volume_api.API, \u0027copy_volume_to_image\u0027,"},{"line_number":1529,"context_line":"                       side_effect\u003dexception.InvalidVolume(reason\u003d\u0027blah\u0027))"},{"line_number":1530,"context_line":"    def test_copy_encrypted_volume_to_image_invalidvolume(self, mock_copy,"},{"line_number":1531,"context_line":"                                                          mock_clone_encryption_key,"},{"line_number":1532,"context_line":"                                                          mock_delete_encryption_key):"},{"line_number":1533,"context_line":"        id \u003d ENCRYPTED_VOLUME_ID"},{"line_number":1534,"context_line":"        mock_clone_encryption_key.return_value \u003d fake.UUID2"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_ef7bb377","line":1531,"updated":"2020-06-04 09:32:41.000000000","message":"pep8: E501 line too long (84 \u003e 79 characters)","commit_id":"55810dea0df4c2e401cecd8628a83ecb35f670da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a50cec96ded330393ef36aced0831ef7e29f2d72","unresolved":false,"context_lines":[{"line_number":1529,"context_line":"                       side_effect\u003dexception.InvalidVolume(reason\u003d\u0027blah\u0027))"},{"line_number":1530,"context_line":"    def test_copy_encrypted_volume_to_image_invalidvolume(self, mock_copy,"},{"line_number":1531,"context_line":"                                                          mock_clone_encryption_key,"},{"line_number":1532,"context_line":"                                                          mock_delete_encryption_key):"},{"line_number":1533,"context_line":"        id \u003d ENCRYPTED_VOLUME_ID"},{"line_number":1534,"context_line":"        mock_clone_encryption_key.return_value \u003d fake.UUID2"},{"line_number":1535,"context_line":"        key \u003d self.controller._key_manager.get(self.context, fake.UUID2)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_cf7eaf68","line":1532,"updated":"2020-06-04 09:32:41.000000000","message":"pep8: E501 line too long (86 \u003e 79 characters)","commit_id":"55810dea0df4c2e401cecd8628a83ecb35f670da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"a50cec96ded330393ef36aced0831ef7e29f2d72","unresolved":false,"context_lines":[{"line_number":1532,"context_line":"                                                          mock_delete_encryption_key):"},{"line_number":1533,"context_line":"        id \u003d ENCRYPTED_VOLUME_ID"},{"line_number":1534,"context_line":"        mock_clone_encryption_key.return_value \u003d fake.UUID2"},{"line_number":1535,"context_line":"        key \u003d self.controller._key_manager.get(self.context, fake.UUID2)"},{"line_number":1536,"context_line":"        vol \u003d {\"container_format\": \u0027bare\u0027,"},{"line_number":1537,"context_line":"               \"disk_format\": \u0027raw\u0027,"},{"line_number":1538,"context_line":"               \"image_name\": \u0027image_name\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_2f992bc3","line":1535,"updated":"2020-06-04 09:32:41.000000000","message":"pep8: F841 local variable \u0027key\u0027 is assigned to but never used","commit_id":"55810dea0df4c2e401cecd8628a83ecb35f670da"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8c6afc01ce793718cda301bb82674e86f2dfe15f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import datetime"},{"line_number":16,"context_line":"from unittest import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from castellan.common import exception as castellan_exception"},{"line_number":19,"context_line":"import ddt"},{"line_number":20,"context_line":"from oslo_config import cfg"},{"line_number":21,"context_line":"import oslo_messaging as messaging"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_a7a0ad43","line":18,"updated":"2020-06-27 12:54:08.000000000","message":"pep8: F401 \u0027castellan.common.exception as castellan_exception\u0027 imported but unused","commit_id":"7ac2a1bea640d6de18983972e66d675e4a264469"}]}
