)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"f0c16cae3261c0eb29c466a39a1e1188ee775e72","unresolved":false,"context_lines":[{"line_number":12,"context_line":"create snapshot using `--force` flag, that\u0027s make no sense. What\u0027s worse,"},{"line_number":13,"context_line":"it may carry some unexpected error: We can delete this error volume before"},{"line_number":14,"context_line":"cleanup the snapshot, but we can\u0027t delete the snapshot any more via API for"},{"line_number":15,"context_line":"its prarent volume not found. This patch just raises a InvalidVolume"},{"line_number":16,"context_line":"exception when we create a snapshot on a volume without host. In"},{"line_number":17,"context_line":"addtion, the volume state is mutable so I think it is not 100% reliable,"},{"line_number":18,"context_line":"the user may reset state w/o checking host state. I think we need check"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a77a97e_3b5a2d51","line":15,"range":{"start_line":15,"start_character":53,"end_line":15,"end_character":54},"updated":"2016-11-16 10:29:07.000000000","message":"nit: and","commit_id":"5c4eae87f375af32bd860bacd267459a823c8141"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d3af5f67bd850c6a96255a8b89a24bb3a1e0cbae","unresolved":false,"context_lines":[{"line_number":12,"context_line":"create snapshot using `--force` flag, that\u0027s make no sense. What\u0027s worse,"},{"line_number":13,"context_line":"it may carry some unexpected error: We can delete this error volume before"},{"line_number":14,"context_line":"cleanup the snapshot, but we can\u0027t delete the snapshot any more via API for"},{"line_number":15,"context_line":"its prarent volume not found. This patch just raises a InvalidVolume"},{"line_number":16,"context_line":"exception when we create a snapshot on a volume without host. In"},{"line_number":17,"context_line":"addtion, the volume state is mutable so I think it is not 100% reliable,"},{"line_number":18,"context_line":"the user may reset state w/o checking host state. I think we need check"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a77a97e_360ddf37","line":15,"range":{"start_line":15,"start_character":53,"end_line":15,"end_character":54},"in_reply_to":"7a77a97e_3b5a2d51","updated":"2016-11-16 11:24:57.000000000","message":"I meant \"an\"  lol","commit_id":"5c4eae87f375af32bd860bacd267459a823c8141"}],"cinder/volume/api.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"f0c16cae3261c0eb29c466a39a1e1188ee775e72","unresolved":false,"context_lines":[{"line_number":771,"context_line":"                              group_snapshot_id\u003dNone):"},{"line_number":772,"context_line":"        check_policy(context, \u0027create_snapshot\u0027, volume)"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"        if volume[\u0027host\u0027] is None:"},{"line_number":775,"context_line":"            msg \u003d _(\"The snapshot cannot be created because volume has \""},{"line_number":776,"context_line":"                    \"not been scheduled to any host.\")"},{"line_number":777,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a77a97e_dbd139cf","line":774,"range":{"start_line":774,"start_character":11,"end_line":774,"end_character":25},"updated":"2016-11-16 10:29:07.000000000","message":"-1: volume.host","commit_id":"5c4eae87f375af32bd860bacd267459a823c8141"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"f19d17c7b816267ddd639d123023735ed36f4d46","unresolved":false,"context_lines":[{"line_number":771,"context_line":"                              group_snapshot_id\u003dNone):"},{"line_number":772,"context_line":"        check_policy(context, \u0027create_snapshot\u0027, volume)"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"        if not volume[\u0027host\u0027]:"},{"line_number":775,"context_line":"            msg \u003d _(\"The snapshot cannot be created because volume has \""},{"line_number":776,"context_line":"                    \"not been scheduled to any host.\")"},{"line_number":777,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a77a97e_f4afaa27","line":774,"range":{"start_line":774,"start_character":15,"end_line":774,"end_character":29},"updated":"2016-11-17 10:00:00.000000000","message":"-1: We must use attribute notation since we are getting an Oslo Versioned Object instance and not a dictionary.\n\nI see that when you change it the tests fail, that is because the tests have not been updated and are still passing dictionaries instead of an OVO instance.\n\nAll you need to do to is change in those tests the stub they are using from \"stub_volume_get\" to \"stub_volume_api_get\" and since you\u0027ll be changing them you\u0027ll also need to change from using stubs to using mocks.\n\nSo you just need to replace this in failing tests:\n\n self.stubs.Set(volume.api.API, \u0027get\u0027, stubs.stub_volume_get)\n\nWith this:\n\n  self.mock_object(volume.api.API, \u0027get\u0027, stubs.stub_volume_api_get)","commit_id":"f1937996b6c671bbde1f2a77455646c4f5d1752e"}]}
