)]}'
{"cinder/exception.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"31cbff7d0e1876814a2ae3c6b577d915e1de1a50","unresolved":false,"context_lines":[{"line_number":641,"context_line":"    message \u003d _(\"Detected more than one volume with name %(vol_name)s\")"},{"line_number":642,"context_line":""},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"class VolumeCreateFailed(CinderException):"},{"line_number":645,"context_line":"    message \u003d _(\"Cannot create volume %(name)s \""},{"line_number":646,"context_line":"                \"error: %(reason)s\")"},{"line_number":647,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_a6c89a23","line":644,"updated":"2016-10-13 19:32:16.000000000","message":"I think you should just use VolumeDriverException rather than introducing a new exception type for this.  Or at least have this exception inherit from VolumeDriverException instead of CinderException.","commit_id":"ef74deb89fc90dd5643be50a23093dcbd79a63c2"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"24921de21de4a15dc89f12216b132d45759f6b04","unresolved":false,"context_lines":[{"line_number":641,"context_line":"    message \u003d _(\"Detected more than one volume with name %(vol_name)s\")"},{"line_number":642,"context_line":""},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"class VolumeCreateFailed(CinderException):"},{"line_number":645,"context_line":"    message \u003d _(\"Cannot create volume %(name)s \""},{"line_number":646,"context_line":"                \"error: %(reason)s\")"},{"line_number":647,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_83129255","line":644,"in_reply_to":"fa6399be_a6c89a23","updated":"2016-10-14 08:22:44.000000000","message":"-1: I agree with Eric, using VolumeDriverException directly seems a better choice, and is consistent with many drivers.","commit_id":"ef74deb89fc90dd5643be50a23093dcbd79a63c2"}],"cinder/tests/unit/volume/drivers/test_rbd.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"94ebc3b4a89ae763759c9624107c5056b8a997c0","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    @common_mocks"},{"line_number":211,"context_line":"    def test_create_encrypted_volume(self):"},{"line_number":212,"context_line":"        self.volume_a[\u0027encryption_key_id\u0027] \u003d \\"},{"line_number":213,"context_line":"            \u002700000000-0000-0000-0000-000000000000\u0027"},{"line_number":214,"context_line":"        self.assertRaises(exception.VolumeDriverException,"},{"line_number":215,"context_line":"                          self.driver.create_volume,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_0bc0ffdf","line":212,"updated":"2016-10-17 20:10:13.000000000","message":"You should set encryption_key_id in setUp() rather than here.  Otherwise you can end up with non-deterministic effects in other tests dependent on what order the tests run in.","commit_id":"8fd15f6d6a27f6e0f86f0dd42d597d05535cff3c"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"95a3f4b0203de51cf025f9c5634d14cd161fa147","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    @common_mocks"},{"line_number":211,"context_line":"    def test_create_encrypted_volume(self):"},{"line_number":212,"context_line":"        self.volume_a[\u0027encryption_key_id\u0027] \u003d \\"},{"line_number":213,"context_line":"            \u002700000000-0000-0000-0000-000000000000\u0027"},{"line_number":214,"context_line":"        self.assertRaises(exception.VolumeDriverException,"},{"line_number":215,"context_line":"                          self.driver.create_volume,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_205dc7ec","line":212,"in_reply_to":"fa6399be_0bc0ffdf","updated":"2016-10-18 11:01:43.000000000","message":"-1: Jon, volume_a is an OVO instance, so this should be:\n\n  self.volume_a.encryption_key_id \u003d \\\n\nSorry I didn\u0027t see it in the previous patch.  :-(\n\n@Eric, that\u0027s not necessary, encryption_key_id\u0027s value for volume_a and volume_b is None if we don\u0027t change it, which is correct.  We only need to change it here because we want to test the failure.\n\nAnd this will be deterministic, because volume_a is instantiated on every test that is run, so this change won\u0027t pollute any other tests.","commit_id":"8fd15f6d6a27f6e0f86f0dd42d597d05535cff3c"}],"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"24921de21de4a15dc89f12216b132d45759f6b04","unresolved":false,"context_lines":[{"line_number":542,"context_line":"    def create_volume(self, volume):"},{"line_number":543,"context_line":"        \"\"\"Creates a logical volume.\"\"\""},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"        if volume.get(\u0027encryption_key_id\u0027, None):"},{"line_number":546,"context_line":"            reason \u003d _(\u0027Encryption is not yet supported\u0027)"},{"line_number":547,"context_line":"            raise exception.VolumeCreateFailed(name\u003dvolume.name,"},{"line_number":548,"context_line":"                                               reason\u003dreason)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_28b44580","line":545,"updated":"2016-10-14 08:22:44.000000000","message":"-1: volume is an OVO instance, not a dictionary, so we will always have the encryption_key_id attribute:\n\n if volume.encryption_key_id:","commit_id":"ef74deb89fc90dd5643be50a23093dcbd79a63c2"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"24921de21de4a15dc89f12216b132d45759f6b04","unresolved":false,"context_lines":[{"line_number":543,"context_line":"        \"\"\"Creates a logical volume.\"\"\""},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"        if volume.get(\u0027encryption_key_id\u0027, None):"},{"line_number":546,"context_line":"            reason \u003d _(\u0027Encryption is not yet supported\u0027)"},{"line_number":547,"context_line":"            raise exception.VolumeCreateFailed(name\u003dvolume.name,"},{"line_number":548,"context_line":"                                               reason\u003dreason)"},{"line_number":549,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_03892275","line":546,"updated":"2016-10-14 08:22:44.000000000","message":"If this wasn\u0027t a temporary solution I would have suggested adding a new capability key instead.\n\nAlso for the same reason I\u0027m not suggesting you create a user visible message here so users can actually check why it failed.","commit_id":"ef74deb89fc90dd5643be50a23093dcbd79a63c2"}]}
