)]}'
{"cinder/api/v3/resource_common_manage.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d3cd0db9b8e07209ea5b79b6853c313168e407e8","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#  License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#  under the License."},{"line_number":15,"context_line":"from cinder.api import extensions"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from cinder.api import common"},{"line_number":18,"context_line":"from cinder.api.openstack import wsgi"},{"line_number":19,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":22,"id":"5a74a57a_f12548ae","line":16,"updated":"2016-11-30 18:20:44.000000000","message":"We don\u0027t need this newline, all the imports are internal.","commit_id":"681b5ec16aea4803225999024e3666ca0bbf43bf"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"da87e538d532f2fc14572a3d09aa9f97a3f8acc4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#  License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#  under the License."},{"line_number":15,"context_line":"from cinder.api import extensions"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from cinder.api import common"},{"line_number":18,"context_line":"from cinder.api.openstack import wsgi"},{"line_number":19,"context_line":"from cinder import exception"}],"source_content_type":"text/x-python","patch_set":22,"id":"5a74a57a_acbe13fd","line":16,"in_reply_to":"5a74a57a_f12548ae","updated":"2016-11-30 18:42:07.000000000","message":"Done","commit_id":"681b5ec16aea4803225999024e3666ca0bbf43bf"}],"cinder/tests/unit/api/v3/test_snapshot_manage.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d3cd0db9b8e07209ea5b79b6853c313168e407e8","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            mock.ANY, None, host\u003dhost, binary\u003d\u0027cinder-volume\u0027,"},{"line_number":184,"context_line":"            cluster_name\u003dcluster_name)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    @ddt.data(\u00273.8\u0027, \u00273.17\u0027)"},{"line_number":187,"context_line":"    def test_get_manageable_missing_host(self, version):"},{"line_number":188,"context_line":"        res \u003d self._get_resp_get(None, True, False, version\u003dversion)"},{"line_number":189,"context_line":"        self.assertEqual(400, res.status_int)"}],"source_content_type":"text/x-python","patch_set":22,"id":"5a74a57a_d1fe8cad","line":189,"range":{"start_line":186,"start_character":0,"end_line":189,"end_character":45},"updated":"2016-11-30 18:20:44.000000000","message":"Should we also test a case when cluster and host are both set?","commit_id":"681b5ec16aea4803225999024e3666ca0bbf43bf"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"da87e538d532f2fc14572a3d09aa9f97a3f8acc4","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            mock.ANY, None, host\u003dhost, binary\u003d\u0027cinder-volume\u0027,"},{"line_number":184,"context_line":"            cluster_name\u003dcluster_name)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    @ddt.data(\u00273.8\u0027, \u00273.17\u0027)"},{"line_number":187,"context_line":"    def test_get_manageable_missing_host(self, version):"},{"line_number":188,"context_line":"        res \u003d self._get_resp_get(None, True, False, version\u003dversion)"},{"line_number":189,"context_line":"        self.assertEqual(400, res.status_int)"}],"source_content_type":"text/x-python","patch_set":22,"id":"5a74a57a_2cb4c3f0","line":189,"range":{"start_line":186,"start_character":0,"end_line":189,"end_character":45},"in_reply_to":"5a74a57a_d1fe8cad","updated":"2016-11-30 18:42:07.000000000","message":"Done","commit_id":"681b5ec16aea4803225999024e3666ca0bbf43bf"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1bebbcc30856cab71311244df7a358de450607f6","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        snaps \u003d [mock.sentinel.snap1, mock.sentinel.snap2]"},{"line_number":166,"context_line":"        get_cctxt_mock.return_value.call.return_value \u003d snaps"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        view_data \u003d {\u0027manageable-snapshots\u0027: [{\u0027vol\u0027: str(v)} for v in snaps]}"},{"line_number":169,"context_line":"        view_path \u003d (\u0027cinder.api.views.manageable_snapshots.ViewBuilder.\u0027 +"},{"line_number":170,"context_line":"                     view_method)"},{"line_number":171,"context_line":"        with mock.patch(view_path, return_value\u003dview_data) as detail_view_mock:"}],"source_content_type":"text/x-python","patch_set":35,"id":"1a6eadb0_b0be66fd","line":168,"updated":"2016-12-20 03:48:36.000000000","message":"str() -\u003e six.text_type()","commit_id":"b165464e5b42236743ec29f826d61ac32108d0d3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"8191c24887e129ef936ccd2fcabd393ed85357c3","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        snaps \u003d [mock.sentinel.snap1, mock.sentinel.snap2]"},{"line_number":166,"context_line":"        get_cctxt_mock.return_value.call.return_value \u003d snaps"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        view_data \u003d {\u0027manageable-snapshots\u0027: [{\u0027vol\u0027: str(v)} for v in snaps]}"},{"line_number":169,"context_line":"        view_path \u003d (\u0027cinder.api.views.manageable_snapshots.ViewBuilder.\u0027 +"},{"line_number":170,"context_line":"                     view_method)"},{"line_number":171,"context_line":"        with mock.patch(view_path, return_value\u003dview_data) as detail_view_mock:"}],"source_content_type":"text/x-python","patch_set":35,"id":"1a6eadb0_dc3a0fe7","line":168,"in_reply_to":"1a6eadb0_b0be66fd","updated":"2016-12-20 10:17:49.000000000","message":"This change is unnecessary and makes code harder to read.  We know beforehand the result of the operation contains no unicode character because we are just converting L165 sentinels to strings.","commit_id":"b165464e5b42236743ec29f826d61ac32108d0d3"}],"cinder/tests/unit/api/v3/test_volume_manage.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d3cd0db9b8e07209ea5b79b6853c313168e407e8","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            mock.ANY, None, host\u003dhost, binary\u003d\u0027cinder-volume\u0027,"},{"line_number":187,"context_line":"            cluster_name\u003dcluster_name)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    @ddt.data(\u00273.8\u0027, \u00273.17\u0027)"},{"line_number":190,"context_line":"    def test_get_manageable_missing_host(self, version):"},{"line_number":191,"context_line":"        res \u003d self._get_resp_get(None, True, False, version\u003dversion)"},{"line_number":192,"context_line":"        self.assertEqual(400, res.status_int)"}],"source_content_type":"text/x-python","patch_set":22,"id":"5a74a57a_31ab408b","line":192,"range":{"start_line":189,"start_character":0,"end_line":192,"end_character":45},"updated":"2016-11-30 18:20:44.000000000","message":"Same here - test with both host and cluster being passed?","commit_id":"681b5ec16aea4803225999024e3666ca0bbf43bf"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"da87e538d532f2fc14572a3d09aa9f97a3f8acc4","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            mock.ANY, None, host\u003dhost, binary\u003d\u0027cinder-volume\u0027,"},{"line_number":187,"context_line":"            cluster_name\u003dcluster_name)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    @ddt.data(\u00273.8\u0027, \u00273.17\u0027)"},{"line_number":190,"context_line":"    def test_get_manageable_missing_host(self, version):"},{"line_number":191,"context_line":"        res \u003d self._get_resp_get(None, True, False, version\u003dversion)"},{"line_number":192,"context_line":"        self.assertEqual(400, res.status_int)"}],"source_content_type":"text/x-python","patch_set":22,"id":"5a74a57a_ac9ff35d","line":192,"range":{"start_line":189,"start_character":0,"end_line":192,"end_character":45},"in_reply_to":"5a74a57a_31ab408b","updated":"2016-11-30 18:42:07.000000000","message":"Done","commit_id":"681b5ec16aea4803225999024e3666ca0bbf43bf"}],"cinder/volume/manager.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1bebbcc30856cab71311244df7a358de450607f6","unresolved":false,"context_lines":[{"line_number":650,"context_line":"            res_backend \u003d vol_utils.extract_host(resource.service_topic_queue)"},{"line_number":651,"context_line":"            backend \u003d vol_utils.extract_host(self.service_topic_queue)"},{"line_number":652,"context_line":"            if res_backend !\u003d backend:"},{"line_number":653,"context_line":"                msg \u003d (_(\u0027Invalid (%resource)s: %(resource)s %(id)s is not \u0027"},{"line_number":654,"context_line":"                         \u0027local to %(backend)s.\u0027) %"},{"line_number":655,"context_line":"                       {\u0027resource\u0027: resource.obj_name, \u0027id\u0027: resource.id,"},{"line_number":656,"context_line":"                        \u0027backend\u0027: backend})"}],"source_content_type":"text/x-python","patch_set":35,"id":"1a6eadb0_d58e74cf","line":653,"range":{"start_line":653,"start_character":34,"end_line":653,"end_character":46},"updated":"2016-12-20 03:48:36.000000000","message":"s/(%resource)s/%(resource)s","commit_id":"b165464e5b42236743ec29f826d61ac32108d0d3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"8191c24887e129ef936ccd2fcabd393ed85357c3","unresolved":false,"context_lines":[{"line_number":650,"context_line":"            res_backend \u003d vol_utils.extract_host(resource.service_topic_queue)"},{"line_number":651,"context_line":"            backend \u003d vol_utils.extract_host(self.service_topic_queue)"},{"line_number":652,"context_line":"            if res_backend !\u003d backend:"},{"line_number":653,"context_line":"                msg \u003d (_(\u0027Invalid (%resource)s: %(resource)s %(id)s is not \u0027"},{"line_number":654,"context_line":"                         \u0027local to %(backend)s.\u0027) %"},{"line_number":655,"context_line":"                       {\u0027resource\u0027: resource.obj_name, \u0027id\u0027: resource.id,"},{"line_number":656,"context_line":"                        \u0027backend\u0027: backend})"}],"source_content_type":"text/x-python","patch_set":35,"id":"1a6eadb0_9c7897fa","line":653,"range":{"start_line":653,"start_character":34,"end_line":653,"end_character":46},"in_reply_to":"1a6eadb0_d58e74cf","updated":"2016-12-20 10:17:49.000000000","message":"Apparently I don\u0027t know how to format strings...  X-D","commit_id":"b165464e5b42236743ec29f826d61ac32108d0d3"}]}
